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 | afe4764fa59ccf6b33fdbf73667fe68f890b363f (patch) | |
tree | 2fd032680fd837160bebd2b4c6e5122407e89b95 /clang/lib | |
parent | 45805b9a50732045f49b395d7baa80703321aab4 (diff) | |
download | bcm5719-llvm-afe4764fa59ccf6b33fdbf73667fe68f890b363f.tar.gz bcm5719-llvm-afe4764fa59ccf6b33fdbf73667fe68f890b363f.zip |
Be sure to instantiate rtti for non-polymorphic bases.
llvm-svn: 90586
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/CodeGen/CGRTTI.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGRTTI.cpp b/clang/lib/CodeGen/CGRTTI.cpp index f43920c13f1..248fe89271c 100644 --- a/clang/lib/CodeGen/CGRTTI.cpp +++ b/clang/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; |