150
|
1 // RUN: %clang_cc1 -mms-bitfields -fsyntax-only -verify -triple x86_64-apple-darwin9 %s
|
|
2 // expected-no-diagnostics
|
|
3
|
|
4 // The -mms-bitfields commandline parameter should behave the same
|
|
5 // as the ms_struct attribute.
|
|
6 struct
|
|
7 {
|
|
8 int a : 1;
|
|
9 short b : 1;
|
|
10 } t;
|
|
11
|
|
12 // MS pads out bitfields between different types.
|
|
13 static int arr[(sizeof(t) == 8) ? 1 : -1];
|
|
14
|
|
15 #pragma pack (push,1)
|
|
16
|
|
17 typedef unsigned int UINT32;
|
|
18
|
|
19 struct Inner {
|
|
20 UINT32 A : 1;
|
|
21 UINT32 B : 1;
|
|
22 UINT32 C : 1;
|
|
23 UINT32 D : 30;
|
|
24 } Inner;
|
|
25
|
|
26 #pragma pack (pop)
|
|
27
|
|
28 static int arr2[(sizeof(Inner) == 8) ? 1 : -1];
|