From 7ed8dbee367033e21a14587fbb31d37936af1d3a Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Sun, 16 Mar 2014 14:39:51 +0100 Subject: [PATCH 1/2] rustc: remove linker_private/linker_private_weak Remove the linker_private and linker_private_weak linkage attributes, they have been superseded by private and private_weak and have been removed in upstream LLVM in commit r203866. --- src/librustc/lib/llvm.rs | 2 -- src/librustc/middle/trans/foreign.rs | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index 448b9e30dcd3d..8cfe08dc975a1 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -59,8 +59,6 @@ pub enum Linkage { 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), From 5c51ef2084dcf1b228c357ed5ef0d6763486b2de Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Mon, 17 Mar 2014 16:37:23 +0100 Subject: [PATCH 2/2] rustc: remove obsolete linkage types Remove obsolete linkage types from the llvm::Linkage enum. The linkage types are no-ops and weren't used inside rustc anyway. --- src/librustc/lib/llvm.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index 8cfe08dc975a1..b98f3f6fd5d48 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -43,21 +43,21 @@ 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, }