Warn about bitfields larger than union

Jonathan Wakely jwakely.gcc@gmail.com
Mon Oct 31 16:09:00 GMT 2011


On 31 October 2011 15:15, Kevin P. Fleming wrote:
> On 10/30/2011 01:12 PM, Jon Grant wrote:
>>
>> Hello
>>
>> I've uploaded a simple C program which shows my query:
>>
>> http://pastebin.com/BQmG0m3g
>>
>> Is there a way for GCC to warn when union size is exceeded by a bit-field?
>
> The 'union size' is determined from the largest member of the union.

Indeed, I don't see how the compiler could know that you didn't mean
to make the union larger than the first member.

If you want to put checks in for that, use a static assertions of some kind:

char static_assert[(sizeof(REG0) == sizeof(REG0.reg8bit))-1];



More information about the Gcc-help mailing list