// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-darwin9 %s // rdar://8823265 #define ATTR __attribute__((__ms_struct__)) struct { char foo; long : 0; char bar; } ATTR t1; struct { char foo; long : 0; char : 0; int : 0; char bar; } ATTR t2; struct { char foo; long : 0; char : 0; int : 0; char bar; long : 0; char : 0; } ATTR t3; struct { long : 0; char bar; } ATTR t4; struct { long : 0; long : 0; char : 0; char bar; } ATTR t5; struct { long : 0; long : 0; char : 0; char bar; } ATTR t6; struct { char foo; long : 0; int : 0; char bar; char bar1; long : 0; char bar2; char bar3; char : 0; char bar4; char bar5; char : 0; char bar6; char bar7; } ATTR t7; struct { long : 0; long : 0; char : 0; } ATTR t8; struct { char foo; long : 0; int : 0; char bar; char bar1; long : 0; char bar2; char bar3; char : 0; char bar4; char bar5; char : 0; char bar6; char bar7; int i1; char : 0; long : 0; char :4; char bar8; char : 0; char bar9; char bar10; int i2; char : 0; long : 0; char :4; } ATTR t9; struct { char foo: 8; long : 0; char bar; } ATTR t10; static int arr1[(sizeof(t1) == 2) -1]; static int arr2[(sizeof(t2) == 2) -1]; static int arr3[(sizeof(t3) == 2) -1]; static int arr4[(sizeof(t4) == 1) -1]; static int arr5[(sizeof(t5) == 1) -1]; static int arr6[(sizeof(t6) == 1) -1]; static int arr7[(sizeof(t7) == 9) -1]; static int arr8[(sizeof(t8) == 0) -1]; static int arr9[(sizeof(t9) == 28) -1]; static int arr10[(sizeof(t10) == 16) -1]; int main() { return 0; }