1 // RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -fdump-record-layouts %s | \ 2 // RUN: FileCheck %s 3 4 // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -fdump-record-layouts %s | \ 5 // RUN: FileCheck %s 6 7 namespace test1 { 8 typedef double __attribute__((__aligned__(2))) Dbl; 9 struct A { 10 Dbl x; 11 }; 12 13 int b = sizeof(A); 14 15 // CHECK: 0 | struct test1::A 16 // CHECK-NEXT: 0 | test1::Dbl x 17 // CHECK-NEXT: | [sizeof=8, dsize=8, align=2, preferredalign=2, 18 // CHECK-NEXT: | nvsize=8, nvalign=2, preferrednvalign=2] 19 20 } // namespace test1 21 22 namespace test2 { 23 typedef double Dbl __attribute__((__aligned__(2))); 24 typedef Dbl DblArr[]; 25 26 union U { 27 DblArr da; 28 char x; 29 }; 30 31 int x = sizeof(U); 32 33 // CHECK: 0 | union test2::U 34 // CHECK-NEXT: 0 | test2::DblArr da 35 // CHECK-NEXT: 0 | char x 36 // CHECK-NEXT: | [sizeof=2, dsize=2, align=2, preferredalign=2, 37 // CHECK-NEXT: | nvsize=2, nvalign=2, preferrednvalign=2] 38 39 } // namespace test2 40