The following invalid testcase triggers an ICE since GCC 3.4.0: ========================================= struct A { virtual A* foo(); }; struct B : virtual A; struct C : A { virtual B* foo(); }; B* C::foo() { return 0; } ========================================= bug.cc:6: error: expected `{' before ';' token bug.cc:12: internal compiler error: Segmentation fault Please submit a full bug report, [etc.]
Subject: Bug 28259 Author: reichelt Date: Tue Aug 1 23:45:11 2006 New Revision: 115866 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115866 Log: PR c++/28250 PR c++/28257 PR c++/28259 PR c++/28267 * toplev.c (compile_file): Return early on errorcount or sorrycount. * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. (cgraph_optimize): Likewise. PR c++/28250 * g++.dg/eh/catch4.C: New test. PR c++/28257 * g++.dg/other/qual1.C: New test. PR c++/28259 * g++.dg/inherit/error2.C: New test. PR c++/28267 * g++.dg/other/new1.C: New test. * g++.dg/warn/pr23075.C: Remove obsolete test. * g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker. * g++.old-deja/g++.jason/report.C: Remove dg-warning marker. Added: trunk/gcc/testsuite/g++.dg/eh/catch4.C trunk/gcc/testsuite/g++.dg/inherit/error2.C trunk/gcc/testsuite/g++.dg/other/new1.C trunk/gcc/testsuite/g++.dg/other/qual1.C Modified: trunk/gcc/ChangeLog trunk/gcc/cgraphunit.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/warn/pr23075.C trunk/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C trunk/gcc/testsuite/g++.old-deja/g++.jason/report.C trunk/gcc/toplev.c
Fixed on mainline.
Subject: Bug 28259 Author: reichelt Date: Thu Aug 3 11:33:49 2006 New Revision: 115900 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115900 Log: PR c++/28257 PR c++/28259 PR c++/28267 * toplev.c (compile_file): Return early on errorcount or sorrycount. * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. (cgraph_optimize): Likewise. PR c++/28250 * g++.dg/eh/catch4.C: New test. PR c++/28257 * g++.dg/other/qual1.C: New test. PR c++/28259 * g++.dg/inherit/error2.C: New test. PR c++/28267 * g++.dg/other/new1.C: New test. * g++.dg/warn/pr23075.C: Remove obsolete test. * g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker. * g++.old-deja/g++.jason/report.C: Remove dg-warning marker. Added: branches/gcc-4_1-branch/gcc/testsuite/g++.dg/eh/catch4.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/inherit/error2.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/other/new1.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/other/qual1.C Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/cgraphunit.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/g++.dg/warn/pr23075.C branches/gcc-4_1-branch/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C branches/gcc-4_1-branch/gcc/testsuite/g++.old-deja/g++.jason/report.C branches/gcc-4_1-branch/gcc/toplev.c
Subject: Bug 28259 Author: reichelt Date: Thu Aug 3 11:35:52 2006 New Revision: 115901 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115901 Log: PR c++/28257 PR c++/28259 PR c++/28267 * toplev.c (compile_file): Return early on errorcount or sorrycount. * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. (cgraph_optimize): Likewise. PR c++/28250 * g++.dg/eh/catch4.C: New test. PR c++/28257 * g++.dg/other/qual1.C: New test. PR c++/28259 * g++.dg/inherit/error2.C: New test. PR c++/28267 * g++.dg/other/new1.C: New test. * g++.dg/warn/pr23075.C: Remove obsolete test. * g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker. * g++.old-deja/g++.jason/report.C: Remove dg-warning marker. Added: branches/gcc-4_0-branch/gcc/testsuite/g++.dg/eh/catch4.C branches/gcc-4_0-branch/gcc/testsuite/g++.dg/inherit/error2.C branches/gcc-4_0-branch/gcc/testsuite/g++.dg/other/new1.C branches/gcc-4_0-branch/gcc/testsuite/g++.dg/other/qual1.C Modified: branches/gcc-4_0-branch/gcc/ChangeLog branches/gcc-4_0-branch/gcc/cgraphunit.c branches/gcc-4_0-branch/gcc/testsuite/ChangeLog branches/gcc-4_0-branch/gcc/testsuite/g++.dg/warn/pr23075.C branches/gcc-4_0-branch/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C branches/gcc-4_0-branch/gcc/testsuite/g++.old-deja/g++.jason/report.C branches/gcc-4_0-branch/gcc/toplev.c
Now also fixed on 4.1 branch and 4.0 branch.