blob: de5bcc7c35c2d44f4e0f559f93e324035361468d [file] [log] [blame]
Stephen Hines651f13c2014-04-23 16:59:28 -07001// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
Warren Huntcaf75972013-11-01 23:59:41 +00002// RUN: | FileCheck %s
Stephen Hines651f13c2014-04-23 16:59:28 -07003// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
Warren Huntcaf75972013-11-01 23:59:41 +00004// RUN: | FileCheck %s -check-prefix CHECK-X64
5
Stephen Hines651f13c2014-04-23 16:59:28 -07006struct T0 { char c; };
7struct T2 : virtual T0 { };
8struct T3 { T2 a[1]; char c; };
Warren Huntcaf75972013-11-01 23:59:41 +00009
Stephen Hines651f13c2014-04-23 16:59:28 -070010// 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 Huntcaf75972013-11-01 23:59:41 +000026
27int a[sizeof(T3)];