From: David Majnemer Date: Mon, 22 Sep 2014 20:39:37 +0000 (+0000) Subject: MS ABI: Remove a FIXME that has been fixed X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d208e87e34d05585d3482ba8b510725448499373;p=clang MS ABI: Remove a FIXME that has been fixed 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 --- diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 9922308760..aa2bc6910e 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/lib/AST/VTableBuilder.cpp @@ -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(); - if (HasRTTIComponent) - Components.push_back(VTableComponent::MakeRTTI(MostDerivedClass)); LayoutVFTable();