• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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