@@ -111,7 +111,7 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
111111 let is_builtin_fn = is_compiler_builtins
112112 && symbol_export_level ( tcx, def_id. to_def_id ( ) )
113113 . is_below_threshold ( SymbolExportLevel :: C ) ;
114- let used = is_builtin_fn || name == "rust_eh_personality" ;
114+ let used = name == "rust_eh_personality" ;
115115
116116 let export_level = if special_runtime_crate {
117117 SymbolExportLevel :: Rust
@@ -135,9 +135,9 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
135135 } else {
136136 SymbolExportKind :: Text
137137 } ,
138- used : codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED )
139- || codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED_LINKER )
140- || used ,
138+ used : codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED_LINKER ) || used ,
139+ used_compiler : codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED )
140+ || is_builtin_fn ,
141141 } ;
142142 ( def_id. to_def_id ( ) , info)
143143 } )
@@ -150,6 +150,7 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
150150 level : SymbolExportLevel :: C ,
151151 kind : SymbolExportKind :: Data ,
152152 used : false ,
153+ used_compiler : false ,
153154 } ,
154155 ) ;
155156 }
@@ -198,6 +199,7 @@ fn exported_symbols_provider_local(
198199 level : info. level ,
199200 kind : SymbolExportKind :: Text ,
200201 used : info. used ,
202+ used_compiler : false ,
201203 } ,
202204 )
203205 } )
@@ -214,6 +216,7 @@ fn exported_symbols_provider_local(
214216 level : SymbolExportLevel :: C ,
215217 kind : SymbolExportKind :: Text ,
216218 used : false ,
219+ used_compiler : false ,
217220 } ,
218221 ) ) ;
219222 }
@@ -233,6 +236,7 @@ fn exported_symbols_provider_local(
233236 level : SymbolExportLevel :: Rust ,
234237 kind : SymbolExportKind :: Text ,
235238 used : false ,
239+ used_compiler : false ,
236240 } ,
237241 ) ) ;
238242 }
@@ -245,6 +249,7 @@ fn exported_symbols_provider_local(
245249 level : SymbolExportLevel :: Rust ,
246250 kind : SymbolExportKind :: Data ,
247251 used : false ,
252+ used_compiler : false ,
248253 } ,
249254 ) )
250255 }
@@ -264,6 +269,7 @@ fn exported_symbols_provider_local(
264269 level : SymbolExportLevel :: C ,
265270 kind : SymbolExportKind :: Data ,
266271 used : false ,
272+ used_compiler : false ,
267273 } ,
268274 )
269275 } ) ) ;
@@ -289,6 +295,7 @@ fn exported_symbols_provider_local(
289295 level : SymbolExportLevel :: C ,
290296 kind : SymbolExportKind :: Data ,
291297 used : false ,
298+ used_compiler : false ,
292299 } ,
293300 )
294301 } ) ) ;
@@ -306,6 +313,7 @@ fn exported_symbols_provider_local(
306313 level : SymbolExportLevel :: C ,
307314 kind : SymbolExportKind :: Data ,
308315 used : true ,
316+ used_compiler : false ,
309317 } ,
310318 ) ) ;
311319 }
@@ -346,6 +354,7 @@ fn exported_symbols_provider_local(
346354 level : SymbolExportLevel :: Rust ,
347355 kind : SymbolExportKind :: Text ,
348356 used : false ,
357+ used_compiler : false ,
349358 } ,
350359 ) ) ;
351360 }
@@ -362,6 +371,7 @@ fn exported_symbols_provider_local(
362371 level : SymbolExportLevel :: Rust ,
363372 kind : SymbolExportKind :: Text ,
364373 used : false ,
374+ used_compiler : false ,
365375 } ,
366376 ) ) ;
367377 }
0 commit comments