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)