Using the 20060401 g++ 4.2 snapshot, built with checking enabled: $ ~/local/gcc-4.2-20060401/bin/g++ -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: /lab/rjpeters/build/gcc-4.2-20060401/configure --enable-languages=c,c++ --prefix=/lab/rjpeters/local/gcc-4.2-20060401 --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit Thread model: posix gcc version 4.2.0 20060401 (experimental)
I get an ICE with the following code; the ICE is apparently triggered by the invalid 'xxx' bogus code, but as I was whittling down the test case I found that any number of pieces of invalid code would also trigger the bug. The ICE appears at -O1 or greater, but not at -O0. No ICE using 4.1.0 or 3.4.4; both just correctly report the error in the test code. $ cat test.ii struct A { A(); }; void f(); struct B { virtual ~B() { A a[1]; f(); } }; struct C : B { }; C c; xxx // <--- this triggers the ICE $ ~/local/gcc-4.2-20060401/bin/g++ -c test.ii -o /dev/null -O1 test.ii:18: error: expected constructor, destructor, or type conversion at end of input test.ii:19: error: inlined_to pointer is set but no predecesors found virtual C::~C()/21: (inline copy in void __tcf_0(void*)/8) availability:available(6) 35 insns (73 after inlining) tree externally_visible finalized inlinable called by: calls: B::~B()/1 (inlined) void operator delete(void*)/18 test.ii:19: internal compiler error: verify_cgraph_node failed Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. $ ~/local/gcc-4.2-20060401/bin/g++ -c test.ii -o /dev/null -O1 test.ii:18: error: expected constructor, destructor, or type conversion at end of input test.ii:19: error: inlined_to pointer is set but no predecesors found virtual C::~C()/21: (inline copy in void __tcf_0(void*)/8) availability:available(6) 35 insns (73 after inlining) tree externally_visible finalized inlinable called by: calls: B::~B()/1 (inlined) void operator delete(void*)/18 test.ii:19: internal compiler error: verify_cgraph_node failed Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Thanks for everyone's efforts on the compiler -- it's a great tool and I enjoy using it. Cheers, Rob -- Summary: ICE-on-invalid "verify_cgraph_node failed" Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rjpeters at klab dot caltech dot edu GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26979