]> granicus.if.org Git - clang/commitdiff
Minor cleanup; no functionality change.
authorEli Friedman <eli.friedman@gmail.com>
Fri, 4 Dec 2009 08:52:11 +0000 (08:52 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 4 Dec 2009 08:52:11 +0000 (08:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90565 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGVtable.cpp

index 6a03aeab5d754ab94e135e2875184d7881e75934..96e5fc58377d344c35334854525fcc688e2ec6a2 100644 (file)
@@ -506,17 +506,11 @@ public:
     const bool PrimaryBaseWasVirtual = Layout.getPrimaryBaseWasVirtual();
 
     // vtables are composed from the chain of primaries.
-    if (PrimaryBase) {
+    if (PrimaryBase && !PrimaryBaseWasVirtual) {
       D1(printf(" doing primaries for %s most derived %s\n",
                 RD->getNameAsCString(), Class->getNameAsCString()));
-      
-      int BaseCurrentVBaseOffset = CurrentVBaseOffset;
-      if (PrimaryBaseWasVirtual)
-        BaseCurrentVBaseOffset = BLayout.getVBaseClassOffset(PrimaryBase);
-        
-      if (!PrimaryBaseWasVirtual)
-        Primaries(PrimaryBase, PrimaryBaseWasVirtual|MorallyVirtual, Offset,
-                  updateVBIndex, current_vbindex, BaseCurrentVBaseOffset);
+      Primaries(PrimaryBase, PrimaryBaseWasVirtual|MorallyVirtual, Offset,
+                updateVBIndex, current_vbindex, CurrentVBaseOffset);
     }
 
     D1(printf(" doing vcall entries for %s most derived %s\n",