Be sure to instantiate rtti for non-polymorphic bases.
llvm-svn: 90586
diff --git a/clang/lib/CodeGen/CGRTTI.cpp b/clang/lib/CodeGen/CGRTTI.cpp
index f43920c..248fe89 100644
--- a/clang/lib/CodeGen/CGRTTI.cpp
+++ b/clang/lib/CodeGen/CGRTTI.cpp
@@ -231,7 +231,10 @@
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;