]> granicus.if.org Git - clang/commitdiff
MS ABI: Assert that vftables should have a non-RTTI entry
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 26 Sep 2014 08:07:55 +0000 (08:07 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 26 Sep 2014 08:07:55 +0000 (08:07 +0000)
No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218506 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/VTableBuilder.cpp

index f866974881210632b13d2939da9afb9f2a5d9c21..7007c9593dd2eea2ac1285b6654e254f62c40253 100644 (file)
@@ -2546,7 +2546,8 @@ private:
     BasesSetVectorTy VisitedBases;
     AddMethods(BaseSubobject(MostDerivedClass, CharUnits::Zero()), 0, nullptr,
                VisitedBases);
-    assert(Components.size() && "vftable can't be empty");
+    assert((HasRTTIComponent ? Components.size() - 1 : Components.size()) &&
+           "vftable can't be empty");
 
     assert(MethodVFTableLocations.empty());
     for (MethodInfoMapTy::const_iterator I = MethodInfoMap.begin(),