The diagnostic fo the following invalid code snippet is broken since GCC 3.0. GCC 2.95.x even crashed.
===================================== template<int> struct A {}; A<0i> a; ===================================== bug.cc:3: error: could not convert template argument '#'complex_cst' not supported by dump_expr#<expression error>' to 'int' bug.cc:3: error: invalid type in declaration before ';' token -- Summary: Broken diagnostic for complex template parameter Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: diagnostic, 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=30896