------- Comment #11 from aldot at gcc dot gnu dot org 2007-11-28 17:44 -------
The standard (6.7.2.2, 4) talks about the note in #7.
I read this as for this input:
--------8<-------
enum e {ee};
struct s { __extension__ enum e baz:16; };
--------8<-------
The smallest type that can represent enum e has to be able to hold a bitfield
of 16, i.e.:
--------8<-------
enum e {__GCC_CONSTRAINT_ee=SHRT_MAX};
struct s { __extension__ enum e baz /*now implied :16*/; };
--------8<-------
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34205