The following invalid testcase triggers an ICE since GCC 4.4.0 (when the meaning of the auto keyword changed).
========================== template<int> struct A { int a[auto(1)]; }; ========================== bug.cc:3:16: internal compiler error: in fold_convert_loc, at fold-const.c:2671 Please submit a full bug report, [etc.] A similar code snippet is wrongly accepted: ========================== template<int> void foo() { int a[auto(1)]; } ========================== It is rejected when foo is instantiated, but (given the first example) this is probably too late. -- Summary: ICE with invalid use of auto in template Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, accepts-invalid, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42056