diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index 448b9e30dcd3d..b98f3f6fd5d48 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -43,24 +43,22 @@ pub enum Visibility { ProtectedVisibility = 2, } +// This enum omits the obsolete (and no-op) linkage types DLLImportLinkage, +// DLLExportLinkage, GhostLinkage and LinkOnceODRAutoHideLinkage. +// LinkerPrivateLinkage and LinkerPrivateWeakLinkage are not included either; +// they've been removed in upstream LLVM commit r203866. pub enum Linkage { ExternalLinkage = 0, AvailableExternallyLinkage = 1, LinkOnceAnyLinkage = 2, LinkOnceODRLinkage = 3, - LinkOnceODRAutoHideLinkage = 4, WeakAnyLinkage = 5, WeakODRLinkage = 6, AppendingLinkage = 7, InternalLinkage = 8, PrivateLinkage = 9, - DLLImportLinkage = 10, - DLLExportLinkage = 11, ExternalWeakLinkage = 12, - GhostLinkage = 13, CommonLinkage = 14, - LinkerPrivateLinkage = 15, - LinkerPrivateWeakLinkage = 16, } #[deriving(Clone)] diff --git a/src/librustc/middle/trans/foreign.rs b/src/librustc/middle/trans/foreign.rs index f37d4b9859d42..eb25a0b3283f3 100644 --- a/src/librustc/middle/trans/foreign.rs +++ b/src/librustc/middle/trans/foreign.rs @@ -121,8 +121,6 @@ pub fn llvm_linkage_by_name(name: &str) -> Option { "extern_weak" => Some(lib::llvm::ExternalWeakLinkage), "external" => Some(lib::llvm::ExternalLinkage), "internal" => Some(lib::llvm::InternalLinkage), - "linker_private" => Some(lib::llvm::LinkerPrivateLinkage), - "linker_private_weak" => Some(lib::llvm::LinkerPrivateWeakLinkage), "linkonce" => Some(lib::llvm::LinkOnceAnyLinkage), "linkonce_odr" => Some(lib::llvm::LinkOnceODRLinkage), "private" => Some(lib::llvm::PrivateLinkage),