1c9bd88e6SHans Wennborg // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
25ae586adSWarren Hunt // RUN:            | FileCheck %s
3c9bd88e6SHans Wennborg // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
45ae586adSWarren Hunt // RUN:            | FileCheck %s -check-prefix CHECK-X64
55ae586adSWarren Hunt 
65ae586adSWarren Hunt struct T0 { char c; };
75ae586adSWarren Hunt struct T2 : virtual T0 { };
85ae586adSWarren Hunt struct T3 { T2 a[1]; char c; };
95ae586adSWarren Hunt 
105ae586adSWarren Hunt // CHECK: *** Dumping AST Record Layout
11d640d7d9SWarren Hunt // CHECK: *** Dumping AST Record Layout
12d640d7d9SWarren Hunt // CHECK: *** Dumping AST Record Layout
13d640d7d9SWarren Hunt // CHECK-NEXT:    0 | struct T3
14*888673b6SJonas Devlieghere // CHECK-NEXT:    0 |   struct T2[1] a
15d640d7d9SWarren Hunt // CHECK-NEXT:    5 |   char c
16d640d7d9SWarren Hunt // CHECK-NEXT:      | [sizeof=8, align=4
17d640d7d9SWarren Hunt // CHECK-NEXT:      |  nvsize=8, nvalign=4]
185ae586adSWarren Hunt // CHECK-X64: *** Dumping AST Record Layout
19d640d7d9SWarren Hunt // CHECK-X64: *** Dumping AST Record Layout
20d640d7d9SWarren Hunt // CHECK-X64: *** Dumping AST Record Layout
21d640d7d9SWarren Hunt // CHECK-X64-NEXT:    0 | struct T3
22*888673b6SJonas Devlieghere // CHECK-X64-NEXT:    0 |   struct T2[1] a
23d640d7d9SWarren Hunt // CHECK-X64-NEXT:   16 |   char c
24d640d7d9SWarren Hunt // CHECK-X64-NEXT:      | [sizeof=24, align=8
25d640d7d9SWarren Hunt // CHECK-X64-NEXT:      |  nvsize=24, nvalign=8]
265ae586adSWarren Hunt 
275ae586adSWarren Hunt int a[sizeof(T3)];
28