1 // RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -Wpacked \ 2 // RUN: -fdump-record-layouts -fsyntax-only -verify -x c++ < %s | \ 3 // RUN: FileCheck %s 4 5 // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -Wpacked \ 6 // RUN: -fdump-record-layouts -fsyntax-only -verify -x c++ < %s | \ 7 // RUN: FileCheck %s 8 9 // expected-no-diagnostics 10 11 struct [[gnu::packed]] Q { 12 double x [[gnu::aligned(4)]]; 13 }; 14 15 struct QQ : Q { char x; }; 16 17 int a = sizeof(QQ); 18 19 // CHECK: *** Dumping AST Record Layout 20 // CHECK-NEXT: 0 | struct Q 21 // CHECK-NEXT: 0 | double x 22 // CHECK-NEXT: | [sizeof=8, dsize=8, align=4, preferredalign=4, 23 // CHECK-NEXT: | nvsize=8, nvalign=4, preferrednvalign=4] 24 25 // CHECK: *** Dumping AST Record Layout 26 // CHECK-NEXT: 0 | struct QQ 27 // CHECK-NEXT: 0 | struct Q (base) 28 // CHECK-NEXT: 0 | double x 29 // CHECK-NEXT: 8 | char x 30 // CHECK-NEXT: | [sizeof=12, dsize=9, align=4, preferredalign=4, 31 // CHECK-NEXT: | nvsize=9, nvalign=4, preferrednvalign=4] 32