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 struct A { 10 double d; 11 }; 12 13 struct B { 14 char x[8]; 15 }; 16 17 struct [[gnu::packed]] C : B, A { // expected-warning{{packed attribute is unnecessary for 'C'}} 18 char x alignas(4)[8]; 19 }; 20 21 int b = sizeof(C); 22 23 // CHECK: 0 | struct C 24 // CHECK-NEXT: 0 | struct B (base) 25 // CHECK-NEXT: 0 | char [8] x 26 // CHECK-NEXT: 8 | struct A (base) 27 // CHECK-NEXT: 8 | double d 28 // CHECK-NEXT: 16 | char [8] x 29 // CHECK-NEXT: | [sizeof=24, dsize=24, align=4, preferredalign=4, 30 // CHECK-NEXT: | nvsize=24, nvalign=4, preferrednvalign=4] 31