diff options
author | Mike Stump <mrs@apple.com> | 2009-12-04 20:55:13 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-12-04 20:55:13 +0000 |
commit | 1c4269a9d9a61b48d1ad7c180fb8f8fc07c2ad8c (patch) | |
tree | 537625cce8824f5ad37c8b6e40446b44be2a95c7 | |
parent | 30a45344c827a8346f6ecfda56b7811d1e031767 (diff) |
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
-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; |