[Bug c++/53524] [4.7/4.8 Regression] Bogus and unsupressable enum comparison warning

jyasskin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 30 02:59:00 GMT 2012


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

Jeffrey Yasskin <jyasskin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jyasskin at gcc dot gnu.org

--- Comment #2 from Jeffrey Yasskin <jyasskin at gcc dot gnu.org> 2012-05-30 02:25:26 UTC ---
I think Paul's arguing that you shouldn't warn on "test ? anon_enum_1 :
anon_enum_2". The result is defined by [expr.cond]p6 to be the common type of
the two enum types (often 'int'), and if the pattern is widely used, then it's
probably not a good idea to warn about it by default.

And, of course, it's always a bad idea to have a warning that users can't turn
off.

I haven't investigated what types PT1BitsAv and PT2BitsAv are supposed to have
before the enum is closed, but if they're the same as their initializers, then
the above argument holds.



More information about the Gcc-bugs mailing list