------- 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