@@ -29,7 +29,6 @@ use rustc_hir::def::CtorKind;
29
29
use rustc_hir:: def_id:: { CrateNum , DefId , LOCAL_CRATE } ;
30
30
use rustc_index:: vec:: { Idx , IndexVec } ;
31
31
use rustc_middle:: ich:: NodeIdHashingMode ;
32
- use rustc_middle:: middle:: codegen_fn_attrs:: CodegenFnAttrFlags ;
33
32
use rustc_middle:: mir:: interpret:: truncate;
34
33
use rustc_middle:: mir:: { self , Field , GeneratorLayout } ;
35
34
use rustc_middle:: ty:: layout:: { self , IntegerExt , PrimitiveExt , TyAndLayout } ;
@@ -2299,9 +2298,7 @@ pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global
2299
2298
}
2300
2299
2301
2300
let tcx = cx. tcx ;
2302
- let attrs = tcx. codegen_fn_attrs ( def_id) ;
2303
2301
2304
- let no_mangle = attrs. flags . contains ( CodegenFnAttrFlags :: NO_MANGLE ) ;
2305
2302
// We may want to remove the namespace scope if we're in an extern block (see
2306
2303
// https://github.com/rust-lang/rust/pull/46457#issuecomment-351750952).
2307
2304
let var_scope = get_namespace_for_item ( cx, def_id) ;
@@ -2318,14 +2315,11 @@ pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global
2318
2315
let variable_type = Instance :: mono ( cx. tcx , def_id) . monomorphic_ty ( cx. tcx ) ;
2319
2316
let type_metadata = type_metadata ( cx, variable_type, span) ;
2320
2317
let var_name = tcx. item_name ( def_id) . as_str ( ) ;
2321
- let linkage_name = if no_mangle {
2322
- None
2323
- } else {
2324
- Some ( mangled_name_of_instance ( cx, Instance :: mono ( tcx, def_id) ) . name . as_str ( ) )
2325
- } ;
2318
+ let linkage_name: & str =
2319
+ & mangled_name_of_instance ( cx, Instance :: mono ( tcx, def_id) ) . name . as_str ( ) ;
2326
2320
// When empty, linkage_name field is omitted,
2327
2321
// which is what we want for no_mangle statics
2328
- let linkage_name = linkage_name. as_deref ( ) . unwrap_or ( "" ) ;
2322
+ let linkage_name = if var_name == linkage_name { "" } else { linkage_name } ;
2329
2323
2330
2324
let global_align = cx. align_of ( variable_type) ;
2331
2325
0 commit comments