Red Hat Bugzilla – Bug 168260
gcc crashes in resolve_overloaded_unification
Last modified: 2007-11-30 17:11:13 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050720 Fedora/1.0.6-1.1.fc3 Firefox/1.0.6
Description of problem:
Compiling the following (buggy) c++ code causes gcc to crash with the following internal error:
x.cc: In constructor `ExprGrammar::definition<ScannerT>::definition(const ExprGrammar&)':
x.cc:46796: internal compiler error: in resolve_overloaded_unification, at cp/pt.c:9326
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccEAmStM.out file, please attach this to your bugreport.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. gcc -c x.cc
Created attachment 118786 [details]
gzipped [preprocessed] source file that reproduces the crash
Created attachment 119232 [details]
Candidate patch to fix the bug
The attached patch fixes the crash on the ill-formed input. I'm submitting a
variant thereof to GCC mainline.
GCC 4.0.x and 4.1.x (FC4 resp. FC5) says here:
168260.ii: In constructor xprGrammar::definition<ScannerT>::definition(const
168260.ii:46796: error: ISO C++ forbids taking the address of a bound member
function to form a pointer to member function. Say prGrammar::makeArg'
168260.ii:46796: confused by earlier errors, bailing out
Not ideal, but guess for invalid input it is something we can live with.
FC3 is no longer supported.
This issue is on Red Hat Engineering's list of planned work items
for the upcoming Red Hat Enterprise Linux 4.4 release. Engineering
resources have been assigned and barring unforeseen circumstances, Red
Hat intends to include this item in the 4.4 release.