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): gcc-3.4.4-2.fc3 How reproducible: Always Steps to Reproduce: 1. gcc -c x.cc Additional info:
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 ExprGrammar&)': 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.