https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56158
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- N.B. we could also get rid of the _S_ios_xxx_end enumerators, but that would break any code which (foolishly) refers to them, e.g. to suppress Clang's -Wswitch warnings. My suggestion assumes that __INT_MAX__ > (1 << 16), i.e. the compiler really will choose int as the underlying type, but I think that's OK.