/* Prove that pragma alignment handling works somewhat. */ /* { dg-do run { target { ! default_packed } } } */ extern void abort (void); struct { char one; long two; } defaultalign; #if defined(__LP64__) #pragma pack(8) #else #pragma pack(4) #endif struct { char one; long two; } sixteen; #pragma pack(1) struct { char one; long two; } two; #pragma pack(2) struct { char one; long two; } three; #pragma pack() struct { char one; long two; } resetalign; main() { if(sizeof(sixteen) < sizeof(defaultalign)) abort(); if(sizeof(two) >= sizeof(defaultalign)) abort(); if(sizeof(three) <= sizeof(two)) abort(); if(sizeof(resetalign) != sizeof(defaultalign)) abort(); return 0; }