37 lines · cpp
1// RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -fdump-record-layouts \2// RUN: -fsyntax-only -fxl-pragma-pack -x c++ %s | \3// RUN: FileCheck --check-prefixes=CHECK %s4 5// RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -fdump-record-layouts \6// RUN: -fsyntax-only -fxl-pragma-pack -x c++ %s | \7// RUN: FileCheck --check-prefixes=CHECK %s8 9struct A {10 bool b : 3;11};12 13int a = sizeof(A);14 15// CHECK: *** Dumping AST Record Layout16// CHECK-NEXT: 0 | struct A17// CHECK-NEXT: 0:0-2 | _Bool b18// CHECK-NEXT: | [sizeof=4, dsize=4, align=4, preferredalign=4,19// CHECK-NEXT: | nvsize=4, nvalign=4, preferrednvalign=4]20 21enum class Bool : bool { False = 0,22 True = 1 };23 24struct B {25 Bool b : 1;26};27 28int b = sizeof(B);29 30// CHECK: *** Dumping AST Record Layout31// CHECK-NEXT: 0 | struct B32// CHECK-NEXT: 0:0-0 | Bool b33// CHECK-NEXT: | [sizeof=4, dsize=4, align=4, preferredalign=4,34// CHECK-NEXT: | nvsize=4, nvalign=4, preferrednvalign=4]35 36enum LL : unsigned long long { val = 1 };37