[Bug middle-end/50189] [4.5/4.6 Regression] Wrong code error in -O2 [-fstrict-enums] compile, target independent

pkoning at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 12 14:05:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50189

--- Comment #12 from Paul Koning <pkoning at gcc dot gnu.org> 2011-10-12 14:04:30 UTC ---
You said "GCC treats types compatible when they have the same precision". 
That's where the problem lies, because enums with -fstrict-enums have their
precision set to just enough bits to hold the range of values, rather than the
precision of the base integer type.  So in the test case in question, the
variable's precision is 32 bits while the right hand side precision is 2 bits.



More information about the Gcc-bugs mailing list