diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-02-19 19:35:18 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-02-19 19:35:18 +0000 |
commit | f63bcaa2c576a95e79281515061c307fd7e5dfd8 (patch) | |
tree | 01fc9511c4e82507ffde891f4863f039f6d3b303 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | db9050fd495f564387aa3179d800c887e2cd9595 (diff) | |
download | llvm-f63bcaa2c576a95e79281515061c307fd7e5dfd8.zip llvm-f63bcaa2c576a95e79281515061c307fd7e5dfd8.tar.gz llvm-f63bcaa2c576a95e79281515061c307fd7e5dfd8.tar.bz2 |
CodeGen: Weak reference temporaries belong in a COMDAT
llvm-svn: 229902
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index e3c5a2b..6d63c5e 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -3104,6 +3104,8 @@ llvm::Constant *CodeGenModule::GetAddrOfGlobalTemporary( setGlobalVisibility(GV, VD); GV->setAlignment( getContext().getTypeAlignInChars(MaterializedType).getQuantity()); + if (supportsCOMDAT() && GV->isWeakForLinker()) + GV->setComdat(TheModule.getOrInsertComdat(GV->getName())); if (VD->getTLSKind()) setTLSMode(GV, *VD); Slot = GV; |