1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only -cxx-abi microsoft %s 2>&1 \ 2*f4a2713aSLionel Sambuc // RUN: | FileCheck %s 3*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only -cxx-abi microsoft %s 2>/dev/null \ 4*f4a2713aSLionel Sambuc // RUN: | FileCheck %s -check-prefix CHECK-X64 5*f4a2713aSLionel Sambuc 6*f4a2713aSLionel Sambuc struct T0 { char c; }; 7*f4a2713aSLionel Sambuc struct T2 : virtual T0 { }; 8*f4a2713aSLionel Sambuc struct T3 { T2 a[1]; char c; }; 9*f4a2713aSLionel Sambuc 10*f4a2713aSLionel Sambuc // CHECK: *** Dumping AST Record Layout 11*f4a2713aSLionel Sambuc // CHECK: 0 | struct T3 12*f4a2713aSLionel Sambuc // CHECK: 0 | struct T2 [1] a 13*f4a2713aSLionel Sambuc // CHECK: 5 | char c 14*f4a2713aSLionel Sambuc // CHECK: | [sizeof=8, align=4 15*f4a2713aSLionel Sambuc // CHECK: | nvsize=8, nvalign=4] 16*f4a2713aSLionel Sambuc // CHECK-X64: *** Dumping AST Record Layout 17*f4a2713aSLionel Sambuc // CHECK-X64: 0 | struct T3 18*f4a2713aSLionel Sambuc // CHECK-X64: 0 | struct T2 [1] a 19*f4a2713aSLionel Sambuc // CHECK-X64: 16 | char c 20*f4a2713aSLionel Sambuc // CHECK-X64: | [sizeof=24, align=8 21*f4a2713aSLionel Sambuc // CHECK-X64: | nvsize=24, nvalign=8] 22*f4a2713aSLionel Sambuc 23*f4a2713aSLionel Sambuc int a[sizeof(T3)]; 24