diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-06-05 22:58:34 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-06-05 22:58:34 +0000 |
commit | feeeda70e23b5bd348d149eb2ba77c7c56d12ede (patch) | |
tree | 01f6ace4513e9ea7773191c0c02d4d600098a5e6 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 50fc5a3cd7253fb52b08a2f1563b1133537157f1 (diff) | |
download | bcm5719-llvm-feeeda70e23b5bd348d149eb2ba77c7c56d12ede.tar.gz bcm5719-llvm-feeeda70e23b5bd348d149eb2ba77c7c56d12ede.zip |
weak_import should not make definitions have weak linkage.
- <rdar://problem/6948703> clang treats weak_import like weak
llvm-svn: 72967
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 6e8440a1773..5c12c81b36b 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -298,7 +298,7 @@ void CodeGenModule::SetFunctionDefinitionAttributes(const FunctionDecl *D, GV->setLinkage(llvm::Function::InternalLinkage); } else if (D->hasAttr<DLLExportAttr>()) { GV->setLinkage(llvm::Function::DLLExportLinkage); - } else if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakImportAttr>()) { + } else if (D->hasAttr<WeakAttr>()) { GV->setLinkage(llvm::Function::WeakAnyLinkage); } else if (Linkage == GVA_C99Inline) { // In C99 mode, 'inline' functions are guaranteed to have a strong @@ -853,7 +853,7 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D) { GV->setLinkage(llvm::Function::DLLImportLinkage); else if (D->hasAttr<DLLExportAttr>()) GV->setLinkage(llvm::Function::DLLExportLinkage); - else if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakImportAttr>()) + else if (D->hasAttr<WeakAttr>()) GV->setLinkage(llvm::GlobalVariable::WeakAnyLinkage); else if (!CompileOpts.NoCommon && (!D->hasExternalStorage() && !D->getInit())) |