1 // RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s 2 3 #pragma pack(push, 1) 4 struct s0 { 5 char f0; 6 int f1 __attribute__((aligned(4))); 7 }; 8 extern int a[sizeof(struct s0) == 5 ? 1 : -1]; 9 #pragma pack(pop) 10 11 struct __attribute__((packed)) s1 { 12 char f0; 13 int f1 __attribute__((aligned(4))); 14 }; 15 extern int a[sizeof(struct s1) == 8 ? 1 : -1]; 16 17 #pragma options align=packed 18 struct s2 { 19 char f0; 20 int f1 __attribute__((aligned(4))); 21 }; 22 extern int a[sizeof(struct s2) == 5 ? 1 : -1]; 23 #pragma options align=reset 24 25 #pragma pack(1) 26 struct s3_0 { unsigned char f0; unsigned int f1; }; 27 int t3_0[sizeof(struct s3_0) == 5 ? 1 : -1]; 28 #pragma options align=reset 29 struct s3_1 { unsigned char f0; unsigned int f1; }; 30 int t3_1[sizeof(struct s3_1) == 8 ? 1 : -1]; 31