aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGVTables.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-01-19 14:02:14 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-01-19 14:02:14 +0000
commitf9b1730d415bb82d367b6729e048be729537c8c6 (patch)
treefe504b0166b1356f8f260a0e92be264b1d48d701 /clang/lib/CodeGen/CGVTables.cpp
parentb8039074d0f27132d6aabc9d27361d7f428bfcc6 (diff)
downloadllvm-f9b1730d415bb82d367b6729e048be729537c8c6.zip
llvm-f9b1730d415bb82d367b6729e048be729537c8c6.tar.gz
llvm-f9b1730d415bb82d367b6729e048be729537c8c6.tar.bz2
Add comdat to thunks.
llvm-svn: 226465
Diffstat (limited to 'clang/lib/CodeGen/CGVTables.cpp')
-rw-r--r--clang/lib/CodeGen/CGVTables.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp
index 5416d44..7724467 100644
--- a/clang/lib/CodeGen/CGVTables.cpp
+++ b/clang/lib/CodeGen/CGVTables.cpp
@@ -377,7 +377,10 @@ void CodeGenFunction::GenerateThunk(llvm::Function *Fn,
// Set the right linkage.
CGM.setFunctionLinkage(GD, Fn);
-
+
+ if (CGM.supportsCOMDAT() && Fn->isWeakForLinker())
+ Fn->setComdat(CGM.getModule().getOrInsertComdat(Fn->getName()));
+
// Set the right visibility.
const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
setThunkVisibility(CGM, MD, Thunk, Fn);