blob: de5bcc7c35c2d44f4e0f559f93e324035361468d [file] [log] [blame]
Hans Wennborgc9bd88e2014-01-14 19:35:09 +00001// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
Warren Hunt5ae586a2013-11-01 23:59:41 +00002// RUN: | FileCheck %s
Hans Wennborgc9bd88e2014-01-14 19:35:09 +00003// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
Warren Hunt5ae586a2013-11-01 23:59:41 +00004// RUN: | FileCheck %s -check-prefix CHECK-X64
5
Warren Huntd640d7d2014-01-09 00:30:56 +00006struct T0 { char c; };
7struct T2 : virtual T0 { };
8struct T3 { T2 a[1]; char c; };
Warren Hunt5ae586a2013-11-01 23:59:41 +00009
Warren Huntd640d7d2014-01-09 00:30:56 +000010// CHECK: *** Dumping AST Record Layout
11// CHECK: *** Dumping AST Record Layout
12// CHECK: *** Dumping AST Record Layout
13// CHECK-NEXT: 0 | struct T3
14// CHECK-NEXT: 0 | struct T2 [1] a
15// CHECK-NEXT: 5 | char c
16// CHECK-NEXT: | [sizeof=8, align=4
17// CHECK-NEXT: | nvsize=8, nvalign=4]
18// CHECK-X64: *** Dumping AST Record Layout
19// CHECK-X64: *** Dumping AST Record Layout
20// CHECK-X64: *** Dumping AST Record Layout
21// CHECK-X64-NEXT: 0 | struct T3
22// CHECK-X64-NEXT: 0 | struct T2 [1] a
23// CHECK-X64-NEXT: 16 | char c
24// CHECK-X64-NEXT: | [sizeof=24, align=8
25// CHECK-X64-NEXT: | nvsize=24, nvalign=8]
Warren Hunt5ae586a2013-11-01 23:59:41 +000026
27int a[sizeof(T3)];