https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95724
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Summary|bogue error : "expected '{' |error message could be |before ')' token" |improved in the cascading | |error case Ever confirmed|0 |1 Last reconfirmed| |2022-01-07 Severity|normal |enhancement --- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I don't like the error messages from any of the other compilers I tried either: clang: <source>:2:29: error: use of undeclared identifier 'a' template <(union : decltype(a = 0)>) ^ <source>:2:36: error: expected '{' after base class list template <(union : decltype(a = 0)>) ^ <source>:2:12: error: '(unnamed union at <source>:2:12)' cannot be defined in a parameter type template <(union : decltype(a = 0)>) ^ <source>:2:37: error: expected template parameter template <(union : decltype(a = 0)>) ^ <source>:2:37: error: expected ',' or '>' in template-parameter-list <source>:2:37: error: expected unqualified-id MSVC: <source>(2): error C2059: syntax error: '(' <source>(2): error C2947: expecting '>' to terminate template-parameter-list, found '>' <source>(2): error C2059: syntax error: ')' <source>(3): fatal error C1004: unexpected end-of-file found ICC: <source>(2): error: expected a type specifier template <(union : decltype(a = 0)>) ^ <source>(2): error: expected a "," or ">" <source>(2): error: expected a declaration <source>(2): error: expected a ";" compilation aborted for <source> (code 2)