The following invalid testcase triggers an ICE since GCC 4.2.0: ================================= template<int int> struct A; template<int int> struct A; ================================= bug.cc:1:14: error: two or more data types in declaration of 'parameter' bug.cc:2:14: error: two or more data types in declaration of 'parameter' bug.cc:2:26: error: redefinition of default argument for '<declaration error>' bug.cc:2:26: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'error_mark' in redeclare_class_template, at cp/pt.c:4576 Please submit a full bug report, [etc.]
Patch submitted here: http://gcc.gnu.org/ml/gcc-patches/2009-11/msg01204.html
Subject: Bug 42054 Author: simartin Date: Sat Feb 27 19:21:39 2010 New Revision: 157112 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157112 Log: gcc/cp/ 2010-02-27 Simon Martin <simartin@users.sourceforge.net> PR c++/42054 * pt.c (redeclare_class_template): Return false if there are erroneous template parameters. gcc/testsuite/ 2010-02-27 Simon Martin <simartin@users.sourceforge.net> PR c++/42054: * g++.dg/parse/error37.C: New test. Added: trunk/gcc/testsuite/g++.dg/parse/error37.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
Fixed in 4.5
GCC 4.3.5 is being released, adjusting target milestone.
Fixed in 4.5+?
Fixed in 4.5.0.