diff options
-rw-r--r-- | llvm/lib/Transforms/Utils/FunctionImportUtils.cpp | 2 | ||||
-rw-r--r-- | llvm/test/Linker/funcimport.ll | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp b/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp index 07830750d29..c0628b3bd49 100644 --- a/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp +++ b/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp @@ -132,7 +132,7 @@ FunctionImportGlobalProcessing::getLinkage(const GlobalValue *SGV) { // linker. The module linking caller needs to enforce this. assert(!doImportAsDefinition(SGV)); // If imported as a declaration, it becomes external_weak. - return GlobalValue::ExternalWeakLinkage; + return SGV->getLinkage(); case GlobalValue::WeakODRLinkage: // For weak_odr linkage, there is a guarantee that all copies will be diff --git a/llvm/test/Linker/funcimport.ll b/llvm/test/Linker/funcimport.ll index f88fcab8a21..53dbc6d849a 100644 --- a/llvm/test/Linker/funcimport.ll +++ b/llvm/test/Linker/funcimport.ll @@ -98,7 +98,7 @@ ; reference should turned into an external_weak declaration. ; RUN: llvm-link %t2.bc -summary-index=%t3.thinlto.bc -import=callweakfunc:%t.bc -import=weakfunc:%t.bc -S 2>&1 | FileCheck %s --check-prefix=IMPORTWEAKFUNC ; IMPORTWEAKFUNC-DAG: Ignoring import request for weak-any function weakfunc -; IMPORTWEAKFUNC-DAG: declare extern_weak void @weakfunc +; IMPORTWEAKFUNC-DAG: declare void @weakfunc ; IMPORTWEAKFUNC-DAG: define available_externally void @callweakfunc ; IMPORTWEAKFUNC-NOT: @weakvar = extern_weak global i32, align 4 |