https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53479
--- Comment #12 from DB <db0451 at gmail dot com> --- (In reply to Jonathan Wakely from comment #11) > Given enum E { E1 = 1, E3 = 3 } the values of the type are 0, 1, 2 and 3 and > -fstrict-enums tells the compiler it will never have a value outside that > range. It does **not** tell it that the type will never have the value 0 or > 2. Huh. So allows non-named values and only enforces min/max, so doesn't account for folk doing bitwise ORing? Seems a little like the worst of both worlds. ;) Thanks for the info anyway.