]> granicus.if.org Git - clang/commitdiff
MS ABI: Remove a FIXME that has been fixed
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 22 Sep 2014 20:39:37 +0000 (20:39 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 22 Sep 2014 20:39:37 +0000 (20:39 +0000)
We've implemented MSVC-style RTTI for quite some time.

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

lib/AST/VTableBuilder.cpp

index 9922308760200019fecf8f7ed36af3e83291793c..aa2bc6910e235f56a0d228a982a1dbb73241533a 100644 (file)
@@ -2539,8 +2539,9 @@ private:
                   BasesSetVectorTy &VisitedBases);
 
   void LayoutVFTable() {
-    // FIXME: add support for RTTI when we have proper LLVM support for symbols
-    // pointing to the middle of a section.
+    // RTTI data goes before all other entries.
+    if (HasRTTIComponent)
+      Components.push_back(VTableComponent::MakeRTTI(MostDerivedClass));
 
     BasesSetVectorTy VisitedBases;
     AddMethods(BaseSubobject(MostDerivedClass, CharUnits::Zero()), 0, nullptr,
@@ -2579,8 +2580,6 @@ public:
     // definition of the vftable.
     HasRTTIComponent = Context.getLangOpts().RTTIData &&
                        !MostDerivedClass->hasAttr<DLLImportAttr>();
-    if (HasRTTIComponent)
-      Components.push_back(VTableComponent::MakeRTTI(MostDerivedClass));
 
     LayoutVFTable();