From 4f017ceedae8245e11ad803f5698ec8afeb8f446 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Mon, 13 Jan 2014 19:25:00 +0000 Subject: [ms-abi] Quick fix layout of an array of records This fixes llvm::SmallVector, which fixes lots of TUs in the MS ABI self host. llvm-svn: 199129 --- clang/test/Layout/ms-x86-basic-layout.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'clang/test/Layout/ms-x86-basic-layout.cpp') diff --git a/clang/test/Layout/ms-x86-basic-layout.cpp b/clang/test/Layout/ms-x86-basic-layout.cpp index f509f2938cb..fc57ec9f33c 100644 --- a/clang/test/Layout/ms-x86-basic-layout.cpp +++ b/clang/test/Layout/ms-x86-basic-layout.cpp @@ -770,6 +770,21 @@ struct F6 : virtual A16f, A4, virtual B { // CHECK-X64-NEXT: | [sizeof=96, align=16 // CHECK-X64-NEXT: | nvsize=32, nvalign=16] +struct ArrayFieldOfRecords { + A4 InlineElts[2]; +}; + +// CHECK: *** Dumping AST Record Layout +// CHECK-NEXT: 0 | struct ArrayFieldOfRecords +// CHECK-NEXT: 0 | struct A4 [2] InlineElts +// CHECK-NEXT: | [sizeof=8, align=4 +// CHECK-NEXT: | nvsize=8, nvalign=4] +// CHECK-X64: *** Dumping AST Record Layout +// CHECK-X64-NEXT: 0 | struct ArrayFieldOfRecords +// CHECK-X64-NEXT: 0 | struct A4 [2] InlineElts +// CHECK-X64-NEXT: | [sizeof=8, align=4 +// CHECK-X64-NEXT: | nvsize=8, nvalign=4] + int a[ sizeof(TestF0)+ sizeof(TestF1)+ @@ -790,4 +805,5 @@ sizeof(F2)+ sizeof(F3)+ sizeof(F4)+ sizeof(F5)+ -sizeof(F6)]; +sizeof(F6)+ +sizeof(ArrayFieldOfRecords)]; -- cgit v1.2.3