File tree 4 files changed +15
-27
lines changed
4 files changed +15
-27
lines changed Original file line number Diff line number Diff line change 1
- // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2
- // file at the top-level directory of this distribution and at
3
- // http://rust-lang.org/COPYRIGHT.
4
- //
5
- // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
- // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
- // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
- // option. This file may not be copied, modified, or distributed
9
- // except according to those terms.
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ // SPDX-FileCopyrightText: The Rust Project Developers (see https://thanks.rust-lang.org)
3
+
10
4
#![ no_std]
11
5
12
6
pub struct System ;
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 (
Original file line number Diff line number Diff line change @@ -815,6 +815,7 @@ fn codegen_stmt<'tcx>(
815
815
| StatementKind :: Nop
816
816
| StatementKind :: FakeRead ( ..)
817
817
| StatementKind :: Retag { .. }
818
+ | StatementKind :: PlaceMention ( ..)
818
819
| StatementKind :: AscribeUserType ( ..) => { }
819
820
820
821
StatementKind :: Coverage { .. } => fx. tcx . sess . fatal ( "-Zcoverage is unimplemented" ) ,
Original file line number Diff line number Diff line change @@ -529,6 +529,7 @@ pub(crate) fn mir_operand_get_const_val<'tcx>(
529
529
| StatementKind :: StorageDead ( _)
530
530
| StatementKind :: Retag ( _, _)
531
531
| StatementKind :: AscribeUserType ( _, _)
532
+ | StatementKind :: PlaceMention ( ..)
532
533
| StatementKind :: Coverage ( _)
533
534
| StatementKind :: ConstEvalCounter
534
535
| StatementKind :: Nop => { }
You can’t perform that action at this time.
0 commit comments