https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87547
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|i686-linux-gnu | Status|UNCONFIRMED |NEW Last reconfirmed| |2018-10-08 Host|i686-linux-gnu | See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=84516 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Sandro Boehler from comment #0) > Expected output (according to standard [class.bit] > (http://eel.is/c++draft/class.bit): "The bit-field attribute is not part of > the type of the class member."): If the bit-field attribute was part of the type then it would be "unsigned int:4" not "unsigned char" or "unsigned short". But G++ is still wrong to use a smaller type, it should be unsigned int (even if internally something else is used).