From: Mike Stump Date: Fri, 4 Dec 2009 20:55:13 +0000 (+0000) Subject: Be sure to instantiate rtti for non-polymorphic bases. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c4269a9d9a61b48d1ad7c180fb8f8fc07c2ad8c;p=clang Be sure to instantiate rtti for non-polymorphic bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90586 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGRTTI.cpp b/lib/CodeGen/CGRTTI.cpp index f43920c13f..248fe89271 100644 --- a/lib/CodeGen/CGRTTI.cpp +++ b/lib/CodeGen/CGRTTI.cpp @@ -231,7 +231,10 @@ public: e = RD->bases_end(); i != e; ++i) { const CXXRecordDecl *Base = cast(i->getType()->getAs()->getDecl()); - info.push_back(CGM.GenerateRTTIRef(Base)); + if (Base->isPolymorphic()) + info.push_back(CGM.GenerateRTTIRef(Base)); + else + info.push_back(CGM.GenerateRTTI(Base)); if (simple) break; int64_t offset;