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)

Reply via email to