It's a C99 feature, and clang's the only compiler I know of that produces the diagnostic (and only in later versions)
btw; I wrote this talk.
btw; I wrote this talk.
And by the way, nice talk, it's great learning these dark secrets of C.
= Bitfields =
Not even once.
;)
int b:1;
Signed two's-complement n-bit integers can hold values from 2^(n-1)-1 to -2^(n-1), so in theory it can hold 0 and -1, but many compilers get that one wrong. Always declare one-bit bitfields as unsigned. (The Sparse static analyzer will warn you about that one.)