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]; 29