diff options
-rw-r--r-- | lib/CodeGen/CGRTTI.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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<CXXRecordDecl>(i->getType()->getAs<RecordType>()->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; |