[Bug c/92428] Crash on conflicting types
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Fri Nov 8 21:50:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92428
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
Each enum type is compatible with an integer type, and in GCC that's
unsigned int by default (in the absence of values that don't fit in
unsigned int), so it's valid to declare a function both as returning
unsigned int and as returning a *complete* enum type.
The problem here is probably to do with forward declarations of enum types
(which are a GNU extension). If an enum type is incomplete when used, GCC
can't know whether it will end up being compatible with unsigned int or
not.
More information about the Gcc-bugs
mailing list