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