/* Test whether bit field boundaries aren't advanced if bit field type | |
has alignment large enough. */ | |
extern void abort (void); | |
extern void exit (int); | |
struct A { | |
unsigned short a : 5; | |
unsigned short b : 5; | |
unsigned short c : 6; | |
}; | |
struct B { | |
unsigned short a : 5; | |
unsigned short b : 3; | |
unsigned short c : 8; | |
}; | |
int main () | |
{ | |
/* If short is not at least 16 bits wide, don't test anything. */ | |
if ((unsigned short) 65521 != 65521) | |
exit (0); | |
if (sizeof (struct A) != sizeof (struct B)) | |
abort (); | |
exit (0); | |
} |