blob: 9cb455b5cc421de06d0adbeed9445bd9dd6874b1 [file] [log] [blame]
John McCall0d461692015-08-19 22:42:36 +00001// 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
8union 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
18union 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
29union 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
39union 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