https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116726

--- Comment #7 from Martin Uecker <muecker at gwdg dot de> ---
(In reply to Peter Damianov from comment #6)
> Another testcase:
> not an ICE, but I think rejects-valid
> ```
> typedef void f(struct s1);
> struct s1 {
>   int f1;
> };
> typedef void f(struct s1);
> ```
> 
> <source>:5:14: error: conflicting types for 'f'; have 'void(struct s1)'
>     5 | typedef void f(struct s1);
>       |              ^
> <source>:1:14: note: previous declaration of 'f' with type 'f' {aka
> 'void(struct s1)'}
>     1 | typedef void f(struct s1);
>       |              ^

This is the same as:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116728

But I think the behavior is correct. See the discussion there.

Reply via email to