https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80516
Bug ID: 80516 Summary: No error for bad type-specifier-seq in template parameter Product: gcc Version: 6.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jens.maurer at gmx dot net Target Milestone: --- The following code violates [dcl.type] paragraph 2 "at most one type-specifier is allowed in a type-specifier-seq" (none of the exceptions apply), yet gcc does not issue a diagnostic unless -Wpedantic is given: using u = unsigned int; template<class T> struct S { }; S<signed u> s; $ g++ -c bad.cc <no error> $ g++ -c -Wpedantic bad.cc bad.cc:7:10: warning: long, short, signed or unsigned used invalidly for ‘type name’ [-Wpedantic] S<signed u> s; ^ I'd like to kindly ask that this syntax confusion be made an error instead of a (frequently disabled) warning.