Paulo,
perhaps Paulo was alluding to the sentence "If the value is zero, the declaration shall have no declarator" in 6.7.2.1 paragraph 3 of C99.There was/is existing practice of using zero width bit-fields to tell the compiler to stop assigning bit-fields into the current storage unit and move onto the next one.But the bitfields need to be _unnamed_.
I agree. I was not disagreeing with Pascal.
Bad (generated by csmith): $ cat bitfield.c struct bf { int x : 5; int y : 4; int u : 0; int z : 10; }; $ gcc -Wall -std=c99 -c bitfield.c bitfield.c:4:3: error: zero width for bit-field ‘u’ Good: $ cat bitfield.c struct bf { int x : 5; int y : 4; int : 0; int z : 10; }; $ gcc -Wall -std=c99 -c bitfield.c $
-- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:derek@knosof.co.uk Source code analysis http://www.knosof.co.uk