about summary refs log tree commit diff
path: root/compiler/rustc_passes
diff options
context:
space:
mode:
authorcynecx <me@cynecx.net>2021-11-22 13:14:54 +0100
committercynecx <me@cynecx.net>2022-02-06 20:23:23 +0100
commit03733ca65a09a9b54b2c2a674e4145b165bd1cab (patch)
tree0a8b39ca2a3a516049004c9023ad73ac8d7c50c7 /compiler/rustc_passes
parentf624427f8771c00819684c783bb841bf72095704 (diff)
downloadrust-03733ca65a09a9b54b2c2a674e4145b165bd1cab.tar.gz
rust-03733ca65a09a9b54b2c2a674e4145b165bd1cab.zip
`#[used(linker)]` attribute (https://github.com/dtolnay/linkme/issues/41)
Diffstat (limited to 'compiler/rustc_passes')
-rw-r--r--compiler/rustc_passes/src/dead.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_passes/src/dead.rs b/compiler/rustc_passes/src/dead.rs
index e7e56711b33..dc3ce1afa33 100644
--- a/compiler/rustc_passes/src/dead.rs
+++ b/compiler/rustc_passes/src/dead.rs
@@ -466,7 +466,10 @@ fn has_allow_dead_code_or_lang_attr(tcx: TyCtxt<'_>, id: hir::HirId) -> bool {
 
     // #[used], #[no_mangle], #[export_name], etc also keeps the item alive
     // forcefully, e.g., for placing it in a specific section.
-    if cg_attrs.contains_extern_indicator() || cg_attrs.flags.contains(CodegenFnAttrFlags::USED) {
+    if cg_attrs.contains_extern_indicator()
+        || cg_attrs.flags.contains(CodegenFnAttrFlags::USED)
+        || cg_attrs.flags.contains(CodegenFnAttrFlags::USED_LINKER)
+    {
         return true;
     }