File tree 1 file changed +10
-18
lines changed
1 file changed +10
-18
lines changed Original file line number Diff line number Diff line change 4
4
use crate :: prelude:: * ;
5
5
6
6
use rustc_ast:: expand:: allocator:: { AllocatorKind , AllocatorTy , ALLOCATOR_METHODS } ;
7
+ use rustc_codegen_ssa:: base:: allocator_kind_for_codegen;
7
8
use rustc_session:: config:: OomStrategy ;
8
9
use rustc_span:: symbol:: sym;
9
10
@@ -13,24 +14,15 @@ pub(crate) fn codegen(
13
14
module : & mut impl Module ,
14
15
unwind_context : & mut UnwindContext ,
15
16
) -> bool {
16
- let any_dynamic_crate = tcx. dependency_formats ( ( ) ) . iter ( ) . any ( |( _, list) | {
17
- use rustc_middle:: middle:: dependency_format:: Linkage ;
18
- list. iter ( ) . any ( |& linkage| linkage == Linkage :: Dynamic )
19
- } ) ;
20
- if any_dynamic_crate {
21
- false
22
- } else if let Some ( kind) = tcx. allocator_kind ( ( ) ) {
23
- codegen_inner (
24
- module,
25
- unwind_context,
26
- kind,
27
- tcx. alloc_error_handler_kind ( ( ) ) . unwrap ( ) ,
28
- tcx. sess . opts . unstable_opts . oom ,
29
- ) ;
30
- true
31
- } else {
32
- false
33
- }
17
+ let Some ( kind) = allocator_kind_for_codegen ( tcx) else { return false } ;
18
+ codegen_inner (
19
+ module,
20
+ unwind_context,
21
+ kind,
22
+ tcx. alloc_error_handler_kind ( ( ) ) . unwrap ( ) ,
23
+ tcx. sess . opts . unstable_opts . oom ,
24
+ ) ;
25
+ true
34
26
}
35
27
36
28
fn codegen_inner (
You can’t perform that action at this time.
0 commit comments