For the testcase ================================= template<typename> struct A {}; template<> struct A<> {}; =================================
we issue the following diagnostic: diag.cc:2: error: wrong number of template arguments (0, should be 1) diag.cc:1: error: provided for 'template<class> struct A' diag.cc:2: error: explicit specialization of non-template '<type error>' The third line (which wasn't emitted before GCC 3.4.0) is clearly bogus. I'll post a patch soon. -- Summary: [3.4/4.0/4.1/4.2 regression] Bogus diagnostic with '<type error>' Product: gcc Version: 4.2.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=25854