Ésta es mi campo de bitsadvertencia cuando se utiliza con el campo de bits unsigned char
struct {
unsigned char v64 : 1;
unsigned char leg : 7;
} valid;
Entonces consigo la advertencia:
main.c:17:3: warning: type of bit-field ‘v64’ is a GCC extension [-pedantic]
main.c:18:3: warning: type of bit-field ‘leg’ is a GCC extension [-pedantic]
Si cambio a int
no hay ninguna advertencia. Pero quiero un bitfield de un byte (char sin signo).
¿Cómo?
'int' tiene un significado especial dentro de los campos de bits. ¿Qué es 'sizeof (struct valid)'? – Pubby
@Pubby: using int, = 4; unsigned char = 1. – Fabricio
Esta es una extensión de compilador muy común. Tal vez deberías ignorar la advertencia de tener tu pastel y comértelo. –