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