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