[Bug c++/87547] G++ reports bad type names for bit-field members

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Oct 8 10:44:00 GMT 2018


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


More information about the Gcc-bugs mailing list