diff options
| author | bors <bors@rust-lang.org> | 2016-04-02 15:52:00 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-04-02 15:52:00 -0700 |
| commit | 5ab11d72cab23f0cea63cbf7a88817ff2a45bab0 (patch) | |
| tree | 3c33f3bd8aab12eec81c8adb23224640e395ed53 | |
| parent | 3ec71b033a81f2a7d7c24db265d1e1c2c437339a (diff) | |
| parent | 4b9ddf4573bacc62a4a6b2ecbafe095e745331c5 (diff) | |
| download | rust-5ab11d72cab23f0cea63cbf7a88817ff2a45bab0.tar.gz rust-5ab11d72cab23f0cea63cbf7a88817ff2a45bab0.zip | |
Auto merge of #32667 - dotdash:def_dec, r=nagisa
Stop accepting declarations when looking for definitions eternally_available linkage isn't legal for declarations anyway, so the check for an externally_available declaration should never succeed, so let's remove it.
| -rw-r--r-- | src/librustc_trans/declare.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/librustc_trans/declare.rs b/src/librustc_trans/declare.rs index f49d303a5a8..83af511f087 100644 --- a/src/librustc_trans/declare.rs +++ b/src/librustc_trans/declare.rs @@ -28,7 +28,6 @@ use context::CrateContext; use type_::Type; use std::ffi::CString; -use libc::c_uint; /// Declare a global value. @@ -159,14 +158,12 @@ pub fn get_defined_value(ccx: &CrateContext, name: &str) -> Option<ValueRef> { debug!("get_defined_value: {:?} value is null", name); None } else { - let (declaration, aext_link) = unsafe { - let linkage = llvm::LLVMGetLinkage(val); - (llvm::LLVMIsDeclaration(val) != 0, - linkage == llvm::AvailableExternallyLinkage as c_uint) + let declaration = unsafe { + llvm::LLVMIsDeclaration(val) != 0 }; - debug!("get_defined_value: found {:?} value (declaration: {}, \ - aext_link: {})", name, declaration, aext_link); - if !declaration || aext_link { + debug!("get_defined_value: found {:?} value (declaration: {})", + name, declaration); + if !declaration { Some(val) } else { None |
