[ms-abi] Refactor Microsoft Record Layout
This patch refactors microsoft record layout to be more "natural". The most dominant change is that vbptrs and vfptrs are injected after the fact. This simplifies the implementation and the math for the offest for the first base/field after the vbptr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198818 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/CharUnits.h 1 addition, 1 deletioninclude/clang/AST/CharUnits.h
- include/clang/AST/RecordLayout.h 8 additions, 7 deletionsinclude/clang/AST/RecordLayout.h
- lib/AST/RecordLayout.cpp 2 additions, 2 deletionslib/AST/RecordLayout.cpp
- lib/AST/RecordLayoutBuilder.cpp 377 additions, 338 deletionslib/AST/RecordLayoutBuilder.cpp
- lib/CodeGen/CGExprCXX.cpp 1 addition, 1 deletionlib/CodeGen/CGExprCXX.cpp
- lib/CodeGen/CGRecordLayoutBuilder.cpp 2 additions, 2 deletionslib/CodeGen/CGRecordLayoutBuilder.cpp
- test/CodeGenCXX/microsoft-abi-member-pointers.cpp 2 additions, 2 deletionstest/CodeGenCXX/microsoft-abi-member-pointers.cpp
- test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp 1 addition, 1 deletion...X/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
- test/CodeGenCXX/virtual-base-cast.cpp 2 additions, 2 deletionstest/CodeGenCXX/virtual-base-cast.cpp
- test/Layout/ms-x86-alias-avoidance-padding.cpp 94 additions, 70 deletionstest/Layout/ms-x86-alias-avoidance-padding.cpp
- test/Layout/ms-x86-aligned-tail-padding.cpp 334 additions, 302 deletionstest/Layout/ms-x86-aligned-tail-padding.cpp
- test/Layout/ms-x86-basic-layout.cpp 12 additions, 12 deletionstest/Layout/ms-x86-basic-layout.cpp
- test/Layout/ms-x86-bitfields-vbases.cpp 82 additions, 78 deletionstest/Layout/ms-x86-bitfields-vbases.cpp
- test/Layout/ms-x86-empty-base-after-base-with-vbptr.cpp 172 additions, 160 deletionstest/Layout/ms-x86-empty-base-after-base-with-vbptr.cpp
- test/Layout/ms-x86-empty-nonvirtual-bases.cpp 92 additions, 84 deletionstest/Layout/ms-x86-empty-nonvirtual-bases.cpp
- test/Layout/ms-x86-empty-virtual-base.cpp 542 additions, 512 deletionstest/Layout/ms-x86-empty-virtual-base.cpp
- test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp 575 additions, 537 deletionstest/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
- test/Layout/ms-x86-misalignedarray.cpp 19 additions, 15 deletionstest/Layout/ms-x86-misalignedarray.cpp
- test/Layout/ms-x86-pack-and-align.cpp 92 additions, 80 deletionstest/Layout/ms-x86-pack-and-align.cpp
- test/Layout/ms-x86-primary-bases.cpp 231 additions, 218 deletionstest/Layout/ms-x86-primary-bases.cpp
Loading
Please register or sign in to comment