[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / Layout / ms_struct-bitfields.c
blob9cb455b5cc421de06d0adbeed9445bd9dd6874b1
1 // RUN: %clang_cc1 -emit-llvm-only -triple armv7-apple-darwin -fdump-record-layouts %s 2>/dev/null \
2 // RUN: | FileCheck %s
4 // rdar://22275433
6 #pragma ms_struct on
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]
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]
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]
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]