summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-10-08 00:00:09 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-10-08 00:00:09 +0000
commitfcfbcc6d103802e15e03d10d5bdec4d4dfa8b371 (patch)
tree2415285eec1a01b45a35dce21edcad97aa95d598 /clang/lib/CodeGen/CodeGenModule.cpp
parent880580b88f9deed575104168e85f242401f8a92e (diff)
downloadbcm5719-llvm-fcfbcc6d103802e15e03d10d5bdec4d4dfa8b371.tar.gz
bcm5719-llvm-fcfbcc6d103802e15e03d10d5bdec4d4dfa8b371.zip
Avoid code duplication by calling setAliasAttributes in EmitAliasDefinition.
llvm-svn: 219258
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 6e7da49a44d..a7a65b88c91 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -2362,21 +2362,12 @@ void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
// Set attributes which are particular to an alias; this is a
// specialization of the attributes which may be set on a global
// variable/function.
- if (D->hasAttr<DLLExportAttr>()) {
- if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
- // The dllexport attribute is ignored for undefined symbols.
- if (FD->hasBody())
- GA->setDLLStorageClass(llvm::GlobalValue::DLLExportStorageClass);
- } else {
- GA->setDLLStorageClass(llvm::GlobalValue::DLLExportStorageClass);
- }
- } else if (D->hasAttr<WeakAttr>() ||
- D->hasAttr<WeakRefAttr>() ||
- D->isWeakImported()) {
+ if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakRefAttr>() ||
+ D->isWeakImported()) {
GA->setLinkage(llvm::Function::WeakAnyLinkage);
}
- SetCommonAttributes(D, GA);
+ setAliasAttributes(D, GA);
}
llvm::Function *CodeGenModule::getIntrinsic(unsigned IID,
OpenPOWER on IntegriCloud