32 lines · cpp
1// RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -Wpacked \2// RUN: -fdump-record-layouts -fsyntax-only -verify -x c++ < %s | \3// RUN: FileCheck %s4 5// RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -Wpacked \6// RUN: -fdump-record-layouts -fsyntax-only -verify -x c++ < %s | \7// RUN: FileCheck %s8 9// expected-no-diagnostics10 11struct [[gnu::packed]] Q {12 double x [[gnu::aligned(4)]];13};14 15struct QQ : Q { char x; };16 17int a = sizeof(QQ);18 19// CHECK: *** Dumping AST Record Layout20// CHECK-NEXT: 0 | struct Q21// CHECK-NEXT: 0 | double x22// 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 Layout26// CHECK-NEXT: 0 | struct QQ27// CHECK-NEXT: 0 | struct Q (base)28// CHECK-NEXT: 0 | double x29// CHECK-NEXT: 8 | char x30// CHECK-NEXT: | [sizeof=12, dsize=9, align=4, preferredalign=4,31// CHECK-NEXT: | nvsize=9, nvalign=4, preferrednvalign=4]32