diff options
author | Anders Carlsson <andersca@mac.com> | 2010-11-22 00:03:08 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-11-22 00:03:08 +0000 |
commit | a03613d6e3f38e0ea8f5ebf0d7c9039b9fe35a8d (patch) | |
tree | 5a4a1bc048e78f02d89ba3c5255539759d1ef1ac /lib/CodeGen/CGRecordLayoutBuilder.cpp | |
parent | 9a5a3f2f3bc7048160b50dadeb7fa56e5e9d8385 (diff) |
Remove FIXME; we don't ever want to lay out empty bases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119957 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGRecordLayoutBuilder.cpp')
-rw-r--r-- | lib/CodeGen/CGRecordLayoutBuilder.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp index 0d9c6d4964..9e45df886e 100644 --- a/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -487,18 +487,17 @@ void CGRecordLayoutBuilder::LayoutUnion(const RecordDecl *D) { void CGRecordLayoutBuilder::LayoutNonVirtualBase(const CXXRecordDecl *BaseDecl, uint64_t BaseOffset) { + // Ignore empty bases. + if (BaseDecl->isEmpty()) + return; + + CheckZeroInitializable(BaseDecl); + const ASTRecordLayout &Layout = Types.getContext().getASTRecordLayout(BaseDecl); uint64_t NonVirtualSize = Layout.getNonVirtualSize(); - if (BaseDecl->isEmpty()) { - // FIXME: Lay out empty bases. - return; - } - - CheckZeroInitializable(BaseDecl); - // FIXME: Actually use a better type than [sizeof(BaseDecl) x i8] when we can. AppendPadding(BaseOffset / 8, 1); |