diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-01-13 19:25:00 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-01-13 19:25:00 +0000 |
commit | 47ee1fd3e04ba3e2fa42082a3d68f46506cc49a1 (patch) | |
tree | b784d0068cc7610c77ad419d28d92b3402a7b08b /test/Layout | |
parent | 324f835127f652705aa6c6a80ed45fdbb3e81054 (diff) | |
download | clang-47ee1fd3e04ba3e2fa42082a3d68f46506cc49a1.tar.gz |
[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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199129 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Layout')
-rw-r--r-- | test/Layout/ms-x86-basic-layout.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/test/Layout/ms-x86-basic-layout.cpp b/test/Layout/ms-x86-basic-layout.cpp index f509f2938c..fc57ec9f33 100644 --- a/test/Layout/ms-x86-basic-layout.cpp +++ b/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)]; |