[Bug c/91893] Bit-field larger than 32 bits has invalid type

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Sep 25 09:54:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91893

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually this is a dup of PR 88731.
Comment #2 of that PR explains it nicely:
GCC makes the integer type of the bit-field in question "unsigned:4".  
See DR#315 (also, see the line of C90 DRs that led to the wording changes 
in C99 relating to types of bit-fields, references in 
<https://gcc.gnu.org/ml/gcc/2017-10/msg00192.html>).

---- CUT ----
So it is a bit more complex than just integer promotions going on here and it
is implementation defined behavior due to the types.

*** This bug has been marked as a duplicate of bug 88731 ***


More information about the Gcc-bugs mailing list