47 lines · c
1// RUN: %clang_cc1 -emit-llvm-only -triple armv7-apple-darwin -fdump-record-layouts %s 2>/dev/null \2// RUN: | FileCheck %s3 4#pragma ms_struct on5 6union A {7 unsigned long long x : 32;8 unsigned long long y : 32;9} a;10// CHECK:*** Dumping AST Record Layout11// CHECK-NEXT: 0 | union A12// CHECK-NEXT: 0:0-31 | unsigned long long x13// CHECK-NEXT: 0:0-31 | unsigned long long y14// CHECK-NEXT: | [sizeof=8, align=1]15 16union B {17 __attribute__((aligned(4)))18 unsigned long long x : 32;19 unsigned long long y : 32;20} b;21// CHECK:*** Dumping AST Record Layout22// CHECK-NEXT: 0 | union B23// CHECK-NEXT: 0:0-31 | unsigned long long x24// CHECK-NEXT: 0:0-31 | unsigned long long y25// CHECK-NEXT: | [sizeof=8, align=1]26 27union C {28 unsigned long long : 0;29 unsigned short y : 8;30} c;31// CHECK:*** Dumping AST Record Layout32// CHECK-NEXT: 0 | union C33// CHECK-NEXT: 0:- | unsigned long long34// CHECK-NEXT: 0:0-7 | unsigned short y35// CHECK-NEXT: | [sizeof=2, align=1]36 37union D {38 unsigned long long : 0;39 unsigned short : 0;40} d;41// CHECK:*** Dumping AST Record Layout42// CHECK-NEXT: 0 | union D43// CHECK-NEXT: 0:- | unsigned long long44// CHECK-NEXT: 0:- | unsigned short45// CHECK-NEXT: | [sizeof=1, align=1]46 47