https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92428
Bug ID: 92428 Summary: Crash on conflicting types Product: gcc Version: 8.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dpotapov at gmail dot com Target Milestone: --- Created attachment 47201 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47201&action=edit crash report The following 4 lines of C code crashes the GCC compiler. ============================ enum Foo; typedef unsigned Foo; enum Foo foo(void); Foo foo(void){ return 0; } ============================ I report it against gcc 8.1.0, but I have tried a few other versions, and all of them crashed in the similar way (see crash.txt) The program is incorrect, because the `foo` function declared as returning a different type. So the expected behavior would be an error message: enum.c:4:5: error: conflicting types for 'foo'