https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84516
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2018-02-27 00:00:00 |2018-10-8 See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=70733 --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- This seems to be related to the following rule in [conv.prom]: > A prvalue for an integral bit-field (10.3.10) can be converted to a prvalue > of type int if int can represent all the values of the bit-field; otherwise, > it can be converted to unsigned int if unsigned int can represent all the > values of the bit-field. If the bit-field is larger yet, no integral > promotion applies to it. But the fact no promotion applies should mean the type is unchanged, so is just long, not long:33.