Skip to content

Commit 382e403

Browse files
committed
Remove Linkage::Private
This is the same as Linkage::Internal except that it doesn't emit any symbol. Some backends may not support it and it isn't all that useful anyway.
1 parent 550e035 commit 382e403

File tree

10 files changed

+4
-19
lines changed

10 files changed

+4
-19
lines changed

compiler/rustc_codegen_gcc/src/base.rs

-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ pub fn global_linkage_to_gcc(linkage: Linkage) -> GlobalKind {
5151
Linkage::WeakODR => unimplemented!(),
5252
Linkage::Appending => unimplemented!(),
5353
Linkage::Internal => GlobalKind::Internal,
54-
Linkage::Private => GlobalKind::Internal,
5554
Linkage::ExternalWeak => GlobalKind::Imported, // TODO(antoyo): should be weak linkage.
5655
Linkage::Common => unimplemented!(),
5756
}
@@ -68,7 +67,6 @@ pub fn linkage_to_gcc(linkage: Linkage) -> FunctionType {
6867
Linkage::WeakODR => unimplemented!(),
6968
Linkage::Appending => unimplemented!(),
7069
Linkage::Internal => FunctionType::Internal,
71-
Linkage::Private => FunctionType::Internal,
7270
Linkage::ExternalWeak => unimplemented!(),
7371
Linkage::Common => unimplemented!(),
7472
}

compiler/rustc_codegen_gcc/src/mono_item.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ impl<'gcc, 'tcx> PreDefineCodegenMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
6161
// compiler-rt, then we want to implicitly compile everything with hidden
6262
// visibility as we're going to link this object all over the place but
6363
// don't want the symbols to get exported.
64-
if linkage != Linkage::Internal
65-
&& linkage != Linkage::Private
66-
&& self.tcx.is_compiler_builtins(LOCAL_CRATE)
67-
{
64+
if linkage != Linkage::Internal && self.tcx.is_compiler_builtins(LOCAL_CRATE) {
6865
#[cfg(feature = "master")]
6966
decl.add_attribute(FnAttribute::Visibility(gccjit::Visibility::Hidden));
7067
} else {

compiler/rustc_codegen_llvm/src/base.rs

-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ pub(crate) fn linkage_to_llvm(linkage: Linkage) -> llvm::Linkage {
159159
Linkage::WeakODR => llvm::Linkage::WeakODRLinkage,
160160
Linkage::Appending => llvm::Linkage::AppendingLinkage,
161161
Linkage::Internal => llvm::Linkage::InternalLinkage,
162-
Linkage::Private => llvm::Linkage::PrivateLinkage,
163162
Linkage::ExternalWeak => llvm::Linkage::ExternalWeakLinkage,
164163
Linkage::Common => llvm::Linkage::CommonLinkage,
165164
}

compiler/rustc_codegen_llvm/src/mono_item.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,7 @@ impl<'tcx> PreDefineCodegenMethods<'tcx> for CodegenCx<'_, 'tcx> {
7171
// compiler-rt, then we want to implicitly compile everything with hidden
7272
// visibility as we're going to link this object all over the place but
7373
// don't want the symbols to get exported.
74-
if linkage != Linkage::Internal
75-
&& linkage != Linkage::Private
76-
&& self.tcx.is_compiler_builtins(LOCAL_CRATE)
77-
{
74+
if linkage != Linkage::Internal && self.tcx.is_compiler_builtins(LOCAL_CRATE) {
7875
llvm::set_visibility(lldecl, llvm::Visibility::Hidden);
7976
} else {
8077
llvm::set_visibility(lldecl, base::visibility_to_llvm(visibility));

compiler/rustc_codegen_ssa/src/codegen_attrs.rs

-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ fn linkage_by_name(tcx: TyCtxt<'_>, def_id: LocalDefId, name: &str) -> Linkage {
4949
"internal" => Internal,
5050
"linkonce" => LinkOnceAny,
5151
"linkonce_odr" => LinkOnceODR,
52-
"private" => Private,
5352
"weak" => WeakAny,
5453
"weak_odr" => WeakODR,
5554
_ => tcx.dcx().span_fatal(tcx.def_span(def_id), "invalid linkage specified"),

compiler/rustc_codegen_ssa/src/mir/naked_asm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ fn prefix_and_suffix<'tcx>(
187187
}
188188
}
189189
}
190-
Linkage::Internal | Linkage::Private => {
190+
Linkage::Internal => {
191191
// write nothing
192192
}
193193
Linkage::Appending => emit_fatal("Only global variables can have appending linkage!"),

compiler/rustc_middle/src/middle/codegen_fn_attrs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ impl CodegenFnAttrs {
178178
|| match self.linkage {
179179
// These are private, so make sure we don't try to consider
180180
// them external.
181-
None | Some(Linkage::Internal | Linkage::Private) => false,
181+
None | Some(Linkage::Internal) => false,
182182
Some(_) => true,
183183
}
184184
}

compiler/rustc_middle/src/mir/mono.rs

-1
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,6 @@ pub enum Linkage {
329329
WeakODR,
330330
Appending,
331331
Internal,
332-
Private,
333332
ExternalWeak,
334333
Common,
335334
}

compiler/rustc_monomorphize/src/partitioning.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1240,7 +1240,6 @@ fn collect_and_partition_mono_items(tcx: TyCtxt<'_>, (): ()) -> MonoItemPartitio
12401240
Linkage::WeakODR => "WeakODR",
12411241
Linkage::Appending => "Appending",
12421242
Linkage::Internal => "Internal",
1243-
Linkage::Private => "Private",
12441243
Linkage::ExternalWeak => "ExternalWeak",
12451244
Linkage::Common => "Common",
12461245
};

tests/ui/linkage-attr/linkage-attr-does-not-panic-llvm-issue-33992.rs

-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ pub static TEST4: bool = true;
1818
#[linkage = "linkonce_odr"]
1919
pub static TEST5: bool = true;
2020

21-
#[linkage = "private"]
22-
pub static TEST6: bool = true;
23-
2421
#[linkage = "weak"]
2522
pub static TEST7: bool = true;
2623

0 commit comments

Comments
 (0)