1 // RUN: %clang_cc1 -emit-llvm-only -triple armv7-apple-darwin -fdump-record-layouts %s 2>/dev/null \ 2 // RUN: | FileCheck %s 3 4 // rdar://22275433 5 6 #pragma ms_struct on 7 8 union A { 9 unsigned long long x : 32; 10 unsigned long long y : 32; 11 } a; 12 // CHECK:*** Dumping AST Record Layout 13 // CHECK-NEXT: 0 | union A 14 // CHECK-NEXT: 0:0-31 | unsigned long long x 15 // CHECK-NEXT: 0:0-31 | unsigned long long y 16 // CHECK-NEXT: | [sizeof=8, align=1] 17 18 union B { 19 __attribute__((aligned(4))) 20 unsigned long long x : 32; 21 unsigned long long y : 32; 22 } b; 23 // CHECK:*** Dumping AST Record Layout 24 // CHECK-NEXT: 0 | union B 25 // CHECK-NEXT: 0:0-31 | unsigned long long x 26 // CHECK-NEXT: 0:0-31 | unsigned long long y 27 // CHECK-NEXT: | [sizeof=8, align=1] 28 29 union C { 30 unsigned long long : 0; 31 unsigned short y : 8; 32 } c; 33 // CHECK:*** Dumping AST Record Layout 34 // CHECK-NEXT: 0 | union C 35 // CHECK-NEXT: 0:- | unsigned long long 36 // CHECK-NEXT: 0:0-7 | unsigned short y 37 // CHECK-NEXT: | [sizeof=2, align=1] 38 39 union D { 40 unsigned long long : 0; 41 unsigned short : 0; 42 } d; 43 // CHECK:*** Dumping AST Record Layout 44 // CHECK-NEXT: 0 | union D 45 // CHECK-NEXT: 0:- | unsigned long long 46 // CHECK-NEXT: 0:- | unsigned short 47 // CHECK-NEXT: | [sizeof=1, align=1] 48 49