// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-darwin9 %s // rdar://8823265 #define ATTR __attribute__((__ms_struct__)) struct { unsigned int bf_1 : 12; unsigned int : 0; unsigned int bf_2 : 12; } ATTR t1; static int a1[(sizeof(t1) == 8) -1]; struct { char foo : 4; short : 0; char bar; } ATTR t2; static int a2[(sizeof(t2) == 4) -1]; #pragma ms_struct on struct { char foo : 4; short : 0; char bar; } t3; #pragma ms_struct off static int a3[(sizeof(t3) == 4) -1]; struct { char foo : 6; long : 0; } ATTR t4; static int a4[(sizeof(t4) == 8) -1]; struct { char foo : 4; short : 0; char bar : 8; } ATTR t5; static int a5[(sizeof(t5) == 4) -1]; struct { char foo : 4; short : 0; long : 0; char bar; } ATTR t6; static int a6[(sizeof(t6) == 4) -1]; struct { char foo : 4; long : 0; short : 0; char bar; } ATTR t7; static int a7[(sizeof(t7) == 16) -1]; struct { char foo : 4; short : 0; long : 0; char bar:7; } ATTR t8; static int a8[(sizeof(t8) == 4) -1]; struct { char foo : 4; long : 0; short : 0; char bar: 8; } ATTR t9; static int a9[(sizeof(t9) == 16) -1]; struct { char foo : 4; char : 0; short : 0; int : 0; long :0; char bar; } ATTR t10; static int a10[(sizeof(t10) == 2) -1];