[Bug c++/46457] Bogus warning about bitwise combination of enum flags in case statement

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Nov 13 00:27:00 GMT 2010


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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.11.13 00:13:35
     Ever Confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-11-13 00:13:35 UTC ---
(In reply to comment #0)
> I have no objection to the documented behaviour, but the actual
> behaviour is to warn about any value that does not equal an enumerator.

I agree this is not a helpful warning to have at -Wall, there's no requirement
for the values of an enumeration to have a corresponding enumerator.

I find the "not handled in switch" warning from -Wswitch very useful, but not
the "not in enumerated type" warning, they should be separate.

In any case, the documentation talks about the range of the type while the
actual warning text talks about values not being "in" the enumerated type,
which is not true when the value is within range of the type.



More information about the Gcc-bugs mailing list