]> granicus.if.org Git - clang/commit
[ms-abi] Leading VFPtrs don't suppress the leading zero sized flag
authorWarren Hunt <whunt@google.com>
Mon, 13 Jan 2014 19:55:52 +0000 (19:55 +0000)
committerWarren Hunt <whunt@google.com>
Mon, 13 Jan 2014 19:55:52 +0000 (19:55 +0000)
commit4a95f51889dfdfbbbf5682339ad7aa7872eb7ca5
tree3c8e4996a3f34a0895c87af173a3ddcebad14018
parent980448201aaee0406ce4b6beff0020f176fdbbcd
[ms-abi] Leading VFPtrs don't suppress the leading zero sized flag

The MS-ABI tracks a bit that asserts that the first sub-object is zero
sized.  This bit is used to add padding between objects if there's the
potential for zero sized objects to alias.  The bit is still true even
if the zero sized base is lead by a VFPtr.  This patch makes clang mimic
that behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199132 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/RecordLayoutBuilder.cpp
test/Layout/ms-x86-alias-avoidance-padding.cpp