summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-11-10 19:13:04 +0000
committerMike Stump <mrs@apple.com>2009-11-10 19:13:04 +0000
commitb47222144be416963dc342111a0c3eb43ca37a90 (patch)
treefd5b178c4fded64310e86bb47feedd2e8e3942f2 /clang/lib/CodeGen
parentf76c9d270a9b4021ee432a80f07dd98efb86c2c5 (diff)
downloadbcm5719-llvm-b47222144be416963dc342111a0c3eb43ca37a90.tar.gz
bcm5719-llvm-b47222144be416963dc342111a0c3eb43ca37a90.zip
Only generate a VTT for classes that need a VTT.
llvm-svn: 86699
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGVtable.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGVtable.cpp b/clang/lib/CodeGen/CGVtable.cpp
index 3799695b901..636639d05e9 100644
--- a/clang/lib/CodeGen/CGVtable.cpp
+++ b/clang/lib/CodeGen/CGVtable.cpp
@@ -733,6 +733,10 @@ public:
};
llvm::Constant *CodeGenModule::GenerateVTT(const CXXRecordDecl *RD) {
+ // Only classes that have virtual bases need a VTT.
+ if (RD->getNumVBases() == 0)
+ return 0;
+
llvm::SmallString<256> OutName;
llvm::raw_svector_ostream Out(OutName);
mangleCXXVTT(getMangleContext(), RD, Out);
OpenPOWER on IntegriCloud