The following invalid testcase causes an ICE since GCC 3.0: =============================== struct A { A(void,int); }; =============================== bug.cc:3: error: '<anonymous>' has incomplete type bug.cc:3: error: invalid use of 'void' bug.cc:3: error: '<anonymous>' has incomplete type bug.cc:3: error: invalid use of 'void' bug.cc:3: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in copy_fn_p, at cp/decl.c:8821 Please submit a full bug report, [etc.] Similar to PR 27278, but ICEs in a different position. Testing a patch.
Subject: Bug number PR c++/27279 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00930.html
Subject: Bug 27279 Author: reichelt Date: Sat Apr 29 20:48:45 2006 New Revision: 113378 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113378 Log: PR c++/27279 * decl.c (copy_fn_p): Skip functions with invalid first arg. * g++.dg/parse/ctor4.C: New test. Added: trunk/gcc/testsuite/g++.dg/parse/ctor4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog
Subject: Bug 27279 Author: reichelt Date: Sat Apr 29 20:52:24 2006 New Revision: 113379 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113379 Log: PR c++/27279 * decl.c (copy_fn_p): Skip functions with invalid first arg. * g++.dg/parse/ctor4.C: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/g++.dg/parse/ctor4.C Modified: branches/gcc-4_1-branch/gcc/cp/ChangeLog branches/gcc-4_1-branch/gcc/cp/decl.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
Subject: Bug 27279 Author: reichelt Date: Sat Apr 29 20:55:44 2006 New Revision: 113380 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113380 Log: PR c++/27279 * decl.c (copy_fn_p): Skip functions with invalid first arg. * g++.dg/parse/ctor4.C: New test. Added: branches/gcc-4_0-branch/gcc/testsuite/g++.dg/parse/ctor4.C Modified: branches/gcc-4_0-branch/gcc/cp/ChangeLog branches/gcc-4_0-branch/gcc/cp/decl.c branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
Fixed on mainline, 4.1 branch, and 4.0 branch.
Really fixed.