https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88577
Bug ID: 88577
Summary: misleading error message with template and auto return
type
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: denis.campredon at gmail dot com
Target Milestone: ---
For the following code
----------------
template <int> struct s{}
auto f() {}
----------------
g++ produces a rather misleading error message:
<source>:3:1: error: multiple types in one declaration
3 | auto f() {}
| ^~~~
<source>:3:5: error: expected ';' before 'f'
3 | auto f() {}
| ^~
| ;
If the template is removed, or the return type is changed the compiler suggest
the good place for the missing semi colon.