]> granicus.if.org Git - clang/commitdiff
Remove FIXME; we don't ever want to lay out empty bases.
authorAnders Carlsson <andersca@mac.com>
Mon, 22 Nov 2010 00:03:08 +0000 (00:03 +0000)
committerAnders Carlsson <andersca@mac.com>
Mon, 22 Nov 2010 00:03:08 +0000 (00:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119957 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGRecordLayoutBuilder.cpp

index 0d9c6d4964207230e2ffd318140bc18a960996bf..9e45df886e6a8b68bc51311a96636e44f4262c88 100644 (file)
@@ -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);