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

            Bug ID: 114265
           Summary: Unhelpful message when var name is also a struct name
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: denis.campredon at gmail dot com
  Target Milestone: ---

While working with legacy code, I encountered the following problem.

The code:
------------
struct Struct;

int fn(Struct *);

Struct *Struct;

int fn(Struct *)
{ 
    return 0;
}
-------------
produces the following error message:
-------------
aaaaaa.c:7:8: error: 'int fn' redeclared as different kind of entity
    7 | int fn(Struct *)
      |        ^~~~~~
aaaaaa.c:3:5: note: previous declaration 'int fn(Struct*)'
    3 | int fn(Struct *);
      |     ^~
aaaaaa.c:7:16: error: expected primary-expression before ')' token
    7 | int fn(Struct *)
--------------

This message does not really explain what the real problem is.
A message saying that `Struct` has been redefined as a variable would help
more.
  • [Bug c++/114265] New: Unhelp... denis.campredon at gmail dot com via Gcc-bugs

Reply via email to