| // RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -fdump-record-layouts \ | |
| // RUN: -fsyntax-only -fxl-pragma-pack -x c++ %s | \ | |
| // RUN: FileCheck --check-prefixes=CHECK %s | |
| // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -fdump-record-layouts \ | |
| // RUN: -fsyntax-only -fxl-pragma-pack -x c++ %s | \ | |
| // RUN: FileCheck --check-prefixes=CHECK %s | |
| struct A { | |
| bool b : 3; | |
| }; | |
| int a = sizeof(A); | |
| // CHECK: *** Dumping AST Record Layout | |
| // CHECK-NEXT: 0 | struct A | |
| // CHECK-NEXT: 0:0-2 | _Bool b | |
| // CHECK-NEXT: | [sizeof=4, dsize=4, align=4, preferredalign=4, | |
| // CHECK-NEXT: | nvsize=4, nvalign=4, preferrednvalign=4] | |
| enum class Bool : bool { False = 0, | |
| True = 1 }; | |
| struct B { | |
| Bool b : 1; | |
| }; | |
| int b = sizeof(B); | |
| // CHECK: *** Dumping AST Record Layout | |
| // CHECK-NEXT: 0 | struct B | |
| // CHECK-NEXT: 0:0-0 | Bool b | |
| // CHECK-NEXT: | [sizeof=4, dsize=4, align=4, preferredalign=4, | |
| // CHECK-NEXT: | nvsize=4, nvalign=4, preferrednvalign=4] | |
| enum LL : unsigned long long { val = 1 }; |