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

alex_lop at walla dot com gcc-bugzilla@gcc.gnu.org
Wed Sep 25 08:10:00 GMT 2019


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

--- Comment #2 from alex_lop at walla dot com ---
(In reply to Richard Biener from comment #1)
> I believe the type you get is actually a 33-bit type and thus the _Generic
> doesn't apply.  IIRC "long" bitfields are a GCC extension.

I am not a lawyer but if the standard says: "All other types are unchanged by
the integer promotions", then I understand that in case 

struct _s
{
    uint64_t val : 33;
} s;

s.val has to be uint64_t, hasn't it?


More information about the Gcc-bugs mailing list