The following invalid code snippet triggers an ICE since GCC 4.0.0: =========================== struct A { int i; struct A a; }; void foo() { struct A b = { 0 }; } =========================== bug.c:4: error: field 'a' has incomplete type bug.c: In function 'foo': bug.c:9: internal compiler error: in count_type_elements, at expr.c:5001 Please submit a full bug report, [etc.]
Closing 4.1 branch.
Patch submitted here: http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01900.html
Subject: Bug 35437 Author: simartin Date: Tue Oct 7 20:56:53 2008 New Revision: 140953 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140953 Log: gcc/ 2008-10-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * expr.c (count_type_elements): Handle ERROR_MARK. gcc/testsuite/ 2008-01-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * gcc.dg/struct-parse-2.c: New test. * g++.dg/parse/struct-4.C: New test. Added: trunk/gcc/testsuite/g++.dg/parse/struct-4.C trunk/gcc/testsuite/gcc.dg/struct-parse-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/expr.c trunk/gcc/testsuite/ChangeLog
Subject: Bug 35437 Author: simartin Date: Wed Oct 8 04:17:27 2008 New Revision: 140961 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140961 Log: gcc/ 2008-10-08 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * expr.c (count_type_elements): Handle ERROR_MARK. gcc/testsuite/ 2008-10-08 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * gcc.dg/struct-parse-2.c: New test. * g++.dg/parse/struct-4.C: New test. Added: branches/gcc-4_3-branch/gcc/testsuite/g++.dg/parse/struct-4.C branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/struct-parse-2.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/expr.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
Fixed on 4.3 and 4.4.
Closing 4.2 branch, fixed for 4.3.3 and 4.4.