Skip to content

Commit 4839d6e

Browse files
compiler: Add rustc_abi dependence to the compiler
Depend on rustc_abi in compiler crates that use it indirectly but have not yet taken on that dependency, and are not entangled in my other PRs. This leaves an "excise rustc_target" step after the dust settles.
1 parent 5f5c243 commit 4839d6e

File tree

24 files changed

+34
-15
lines changed

24 files changed

+34
-15
lines changed

Cargo.lock

+8
Original file line numberDiff line numberDiff line change
@@ -3621,6 +3621,7 @@ version = "0.0.0"
36213621
dependencies = [
36223622
"annotate-snippets 0.11.4",
36233623
"derive_setters",
3624+
"rustc_abi",
36243625
"rustc_ast",
36253626
"rustc_ast_pretty",
36263627
"rustc_data_structures",
@@ -3718,6 +3719,7 @@ name = "rustc_hir_analysis"
37183719
version = "0.0.0"
37193720
dependencies = [
37203721
"itertools",
3722+
"rustc_abi",
37213723
"rustc_arena",
37223724
"rustc_ast",
37233725
"rustc_attr",
@@ -3980,6 +3982,7 @@ dependencies = [
39803982
"bitflags 2.6.0",
39813983
"libloading",
39823984
"odht",
3985+
"rustc_abi",
39833986
"rustc_ast",
39843987
"rustc_attr",
39853988
"rustc_data_structures",
@@ -4074,6 +4077,7 @@ version = "0.0.0"
40744077
dependencies = [
40754078
"polonius-engine",
40764079
"regex",
4080+
"rustc_abi",
40774081
"rustc_ast",
40784082
"rustc_data_structures",
40794083
"rustc_errors",
@@ -4187,6 +4191,7 @@ dependencies = [
41874191
name = "rustc_passes"
41884192
version = "0.0.0"
41894193
dependencies = [
4194+
"rustc_abi",
41904195
"rustc_ast",
41914196
"rustc_ast_pretty",
41924197
"rustc_attr",
@@ -4213,6 +4218,7 @@ name = "rustc_pattern_analysis"
42134218
version = "0.0.0"
42144219
dependencies = [
42154220
"rustc-hash 2.0.0",
4221+
"rustc_abi",
42164222
"rustc_apfloat",
42174223
"rustc_arena",
42184224
"rustc_data_structures",
@@ -4352,6 +4358,7 @@ dependencies = [
43524358
"bitflags 2.6.0",
43534359
"getopts",
43544360
"libc",
4361+
"rustc_abi",
43554362
"rustc_ast",
43564363
"rustc_data_structures",
43574364
"rustc_errors",
@@ -4415,6 +4422,7 @@ version = "0.0.0"
44154422
dependencies = [
44164423
"punycode",
44174424
"rustc-demangle",
4425+
"rustc_abi",
44184426
"rustc_data_structures",
44194427
"rustc_errors",
44204428
"rustc_hir",

compiler/rustc_errors/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = "2021"
77
# tidy-alphabetical-start
88
annotate-snippets = "0.11"
99
derive_setters = "0.1.6"
10+
rustc_abi = { path = "../rustc_abi" }
1011
rustc_ast = { path = "../rustc_ast" }
1112
rustc_ast_pretty = { path = "../rustc_ast_pretty" }
1213
rustc_data_structures = { path = "../rustc_data_structures" }

compiler/rustc_errors/src/diagnostic_impls.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ use std::num::ParseIntError;
55
use std::path::{Path, PathBuf};
66
use std::process::ExitStatus;
77

8+
use rustc_abi::TargetDataLayoutErrors;
89
use rustc_ast_pretty::pprust;
910
use rustc_macros::Subdiagnostic;
1011
use rustc_span::Span;
1112
use rustc_span::edition::Edition;
1213
use rustc_span::symbol::{Ident, MacroRulesNormalizedIdent, Symbol};
13-
use rustc_target::abi::TargetDataLayoutErrors;
1414
use rustc_target::spec::{PanicStrategy, SplitDebuginfo, StackProtector, TargetTriple};
1515
use rustc_type_ir::{ClosureKind, FloatTy};
1616
use {rustc_ast as ast, rustc_hir as hir};

compiler/rustc_hir_analysis/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ doctest = false
1010
[dependencies]
1111
# tidy-alphabetical-start
1212
itertools = "0.12"
13+
rustc_abi = { path = "../rustc_abi" }
1314
rustc_arena = { path = "../rustc_arena" }
1415
rustc_ast = { path = "../rustc_ast" }
1516
rustc_attr = { path = "../rustc_attr" }

compiler/rustc_hir_analysis/src/check/check.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::cell::LazyCell;
22
use std::ops::ControlFlow;
33

4+
use rustc_abi::FieldIdx;
45
use rustc_data_structures::unord::{UnordMap, UnordSet};
56
use rustc_errors::MultiSpan;
67
use rustc_errors::codes::*;
@@ -23,7 +24,6 @@ use rustc_middle::ty::{
2324
TypeVisitableExt,
2425
};
2526
use rustc_session::lint::builtin::UNINHABITED_STATIC;
26-
use rustc_target::abi::FieldIdx;
2727
use rustc_trait_selection::error_reporting::InferCtxtErrorExt;
2828
use rustc_trait_selection::error_reporting::traits::on_unimplemented::OnUnimplementedDirective;
2929
use rustc_trait_selection::traits;

compiler/rustc_hir_analysis/src/check/intrinsicck.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::assert_matches::debug_assert_matches;
22

3+
use rustc_abi::FieldIdx;
34
use rustc_ast::InlineAsmTemplatePiece;
45
use rustc_data_structures::fx::FxIndexSet;
56
use rustc_hir::{self as hir, LangItem};
@@ -8,7 +9,6 @@ use rustc_middle::ty::{self, FloatTy, IntTy, Ty, TyCtxt, TypeVisitableExt, UintT
89
use rustc_session::lint;
910
use rustc_span::Symbol;
1011
use rustc_span::def_id::LocalDefId;
11-
use rustc_target::abi::FieldIdx;
1212
use rustc_target::asm::{
1313
InlineAsmReg, InlineAsmRegClass, InlineAsmRegOrRegClass, InlineAsmType, ModifierInfo,
1414
};

compiler/rustc_hir_analysis/src/check/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ pub mod wfcheck;
7474
use std::num::NonZero;
7575

7676
pub use check::{check_abi, check_abi_fn_ptr};
77+
use rustc_abi::VariantIdx;
7778
use rustc_data_structures::fx::{FxHashSet, FxIndexMap};
7879
use rustc_errors::{Diag, ErrorGuaranteed, pluralize, struct_span_code_err};
7980
use rustc_hir::def_id::{DefId, LocalDefId};
@@ -90,7 +91,6 @@ use rustc_session::parse::feature_err;
9091
use rustc_span::def_id::CRATE_DEF_ID;
9192
use rustc_span::symbol::{Ident, kw, sym};
9293
use rustc_span::{BytePos, DUMMY_SP, Span, Symbol};
93-
use rustc_target::abi::VariantIdx;
9494
use rustc_target::spec::abi::Abi;
9595
use rustc_trait_selection::error_reporting::InferCtxtErrorExt;
9696
use rustc_trait_selection::error_reporting::infer::ObligationCauseExt as _;

compiler/rustc_metadata/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ edition = "2021"
88
bitflags = "2.4.1"
99
libloading = "0.8.0"
1010
odht = { version = "0.3.1", features = ["nightly"] }
11+
rustc_abi = { path = "../rustc_abi" }
1112
rustc_ast = { path = "../rustc_ast" }
1213
rustc_attr = { path = "../rustc_attr" }
1314
rustc_data_structures = { path = "../rustc_data_structures" }

compiler/rustc_metadata/src/rmeta/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use decoder::{DecodeContext, Metadata};
66
use def_path_hash_map::DefPathHashMapRef;
77
use encoder::EncodeContext;
88
pub use encoder::{EncodedMetadata, encode_metadata, rendered_const};
9+
use rustc_abi::{FieldIdx, VariantIdx};
910
use rustc_ast::expand::StrippedCfgItem;
1011
use rustc_data_structures::fx::FxHashMap;
1112
use rustc_data_structures::svh::Svh;
@@ -37,7 +38,6 @@ use rustc_span::edition::Edition;
3738
use rustc_span::hygiene::{ExpnIndex, MacroKind, SyntaxContextData};
3839
use rustc_span::symbol::{Ident, Symbol};
3940
use rustc_span::{self, ExpnData, ExpnHash, ExpnId, Span};
40-
use rustc_target::abi::{FieldIdx, VariantIdx};
4141
use rustc_target::spec::{PanicStrategy, TargetTriple};
4242
use table::TableBuilder;
4343
use {rustc_ast as ast, rustc_attr as attr, rustc_hir as hir};

compiler/rustc_mir_dataflow/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = "2021"
77
# tidy-alphabetical-start
88
polonius-engine = "0.13.0"
99
regex = "1"
10+
rustc_abi = { path = "../rustc_abi" }
1011
rustc_ast = { path = "../rustc_ast" }
1112
rustc_data_structures = { path = "../rustc_data_structures" }
1213
rustc_errors = { path = "../rustc_errors" }

compiler/rustc_mir_dataflow/src/drop_flag_effects.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use rustc_abi::VariantIdx;
12
use rustc_middle::mir::{self, Body, Location, Terminator, TerminatorKind};
2-
use rustc_target::abi::VariantIdx;
33
use tracing::debug;
44

55
use super::move_paths::{InitKind, LookupResult, MoveData, MovePathIndex};

compiler/rustc_mir_dataflow/src/elaborate_drops.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::{fmt, iter};
22

3+
use rustc_abi::{FIRST_VARIANT, FieldIdx, VariantIdx};
34
use rustc_hir::lang_items::LangItem;
45
use rustc_index::Idx;
56
use rustc_middle::mir::patch::MirPatch;
@@ -10,7 +11,6 @@ use rustc_middle::ty::util::IntTypeExt;
1011
use rustc_middle::ty::{self, GenericArgsRef, Ty, TyCtxt};
1112
use rustc_span::DUMMY_SP;
1213
use rustc_span::source_map::Spanned;
13-
use rustc_target::abi::{FIRST_VARIANT, FieldIdx, VariantIdx};
1414
use tracing::{debug, instrument};
1515

1616
/// The value of an inserted drop flag.

compiler/rustc_mir_dataflow/src/value_analysis.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ use std::assert_matches::assert_matches;
3636
use std::fmt::{Debug, Formatter};
3737
use std::ops::Range;
3838

39+
use rustc_abi::{FieldIdx, VariantIdx};
3940
use rustc_data_structures::captures::Captures;
4041
use rustc_data_structures::fx::{FxHashMap, FxIndexSet, StdEntry};
4142
use rustc_data_structures::stack::ensure_sufficient_stack;
@@ -46,7 +47,6 @@ use rustc_middle::mir::tcx::PlaceTy;
4647
use rustc_middle::mir::visit::{MutatingUseContext, PlaceContext, Visitor};
4748
use rustc_middle::mir::*;
4849
use rustc_middle::ty::{self, Ty, TyCtxt};
49-
use rustc_target::abi::{FieldIdx, VariantIdx};
5050
use tracing::debug;
5151

5252
use crate::fmt::DebugWithContext;

compiler/rustc_passes/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ edition = "2021"
55

66
[dependencies]
77
# tidy-alphabetical-start
8+
rustc_abi = { path = "../rustc_abi" }
89
rustc_ast = { path = "../rustc_ast" }
910
rustc_ast_pretty = { path = "../rustc_ast_pretty" }
1011
rustc_attr = { path = "../rustc_attr" }

compiler/rustc_passes/src/dead.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use std::mem;
77

88
use hir::ItemKind;
99
use hir::def_id::{LocalDefIdMap, LocalDefIdSet};
10+
use rustc_abi::FieldIdx;
1011
use rustc_data_structures::unord::UnordSet;
1112
use rustc_errors::MultiSpan;
1213
use rustc_hir as hir;
@@ -22,7 +23,6 @@ use rustc_middle::{bug, span_bug};
2223
use rustc_session::lint;
2324
use rustc_session::lint::builtin::DEAD_CODE;
2425
use rustc_span::symbol::{Symbol, sym};
25-
use rustc_target::abi::FieldIdx;
2626

2727
use crate::errors::{
2828
ChangeFields, IgnoredDerivedImpls, MultipleDeadCodes, ParentInfo, UselessAssignment,

compiler/rustc_passes/src/layout_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use rustc_abi::{HasDataLayout, TargetDataLayout};
12
use rustc_ast::Attribute;
23
use rustc_hir::def::DefKind;
34
use rustc_hir::def_id::LocalDefId;
@@ -7,7 +8,6 @@ use rustc_middle::ty::{self, ParamEnv, Ty, TyCtxt};
78
use rustc_span::Span;
89
use rustc_span::source_map::Spanned;
910
use rustc_span::symbol::sym;
10-
use rustc_target::abi::{HasDataLayout, TargetDataLayout};
1111
use rustc_trait_selection::error_reporting::InferCtxtErrorExt;
1212
use rustc_trait_selection::infer::TyCtxtInferExt;
1313
use rustc_trait_selection::traits;

compiler/rustc_pattern_analysis/Cargo.toml

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ edition = "2021"
66
[dependencies]
77
# tidy-alphabetical-start
88
rustc-hash = "2.0.0"
9+
10+
rustc_abi = { path = "../rustc_abi", optional = true }
911
rustc_apfloat = "0.2.0"
1012
rustc_arena = { path = "../rustc_arena", optional = true }
1113
rustc_data_structures = { path = "../rustc_data_structures", optional = true }
@@ -29,6 +31,7 @@ tracing-tree = "0.3.0"
2931
[features]
3032
default = ["rustc"]
3133
rustc = [
34+
"dep:rustc_abi",
3235
"dep:rustc_arena",
3336
"dep:rustc_data_structures",
3437
"dep:rustc_errors",

compiler/rustc_pattern_analysis/src/rustc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::fmt;
22
use std::iter::once;
33

4+
use rustc_abi::{FIRST_VARIANT, FieldIdx, Integer, VariantIdx};
45
use rustc_arena::DroplessArena;
56
use rustc_hir::HirId;
67
use rustc_hir::def_id::DefId;
@@ -15,7 +16,6 @@ use rustc_middle::ty::{
1516
use rustc_middle::{bug, span_bug};
1617
use rustc_session::lint;
1718
use rustc_span::{DUMMY_SP, ErrorGuaranteed, Span};
18-
use rustc_target::abi::{FIRST_VARIANT, FieldIdx, Integer, VariantIdx};
1919

2020
use crate::constructor::Constructor::*;
2121
use crate::constructor::{

compiler/rustc_pattern_analysis/src/rustc/print.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
1212
use std::fmt;
1313

14+
use rustc_abi::{FieldIdx, VariantIdx};
1415
use rustc_middle::bug;
1516
use rustc_middle::ty::{self, AdtDef, Ty, TyCtxt};
1617
use rustc_span::sym;
17-
use rustc_target::abi::{FieldIdx, VariantIdx};
1818

1919
#[derive(Clone, Debug)]
2020
pub(crate) struct FieldPat {

compiler/rustc_session/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = "2021"
77
# tidy-alphabetical-start
88
bitflags = "2.4.1"
99
getopts = "0.2"
10+
rustc_abi = { path = "../rustc_abi" }
1011
rustc_ast = { path = "../rustc_ast" }
1112
rustc_data_structures = { path = "../rustc_data_structures" }
1213
rustc_errors = { path = "../rustc_errors" }

compiler/rustc_session/src/code_stats.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use std::cmp;
22

3+
use rustc_abi::{Align, Size};
34
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
45
use rustc_data_structures::sync::Lock;
56
use rustc_span::Symbol;
67
use rustc_span::def_id::DefId;
7-
use rustc_target::abi::{Align, Size};
88

99
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
1010
pub struct VariantInfo {

compiler/rustc_session/src/config/cfg.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
use std::hash::Hash;
2424
use std::iter;
2525

26+
use rustc_abi::Align;
2627
use rustc_ast::ast;
2728
use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexSet};
2829
use rustc_lint_defs::BuiltinLintDiag;
2930
use rustc_lint_defs::builtin::EXPLICIT_BUILTIN_CFGS_IN_FLAGS;
3031
use rustc_span::symbol::{Symbol, sym};
31-
use rustc_target::abi::Align;
3232
use rustc_target::spec::{PanicStrategy, RelocModel, SanitizerSet, TARGETS, Target, TargetTriple};
3333

3434
use crate::Session;

compiler/rustc_symbol_mangling/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ edition = "2021"
77
# tidy-alphabetical-start
88
punycode = "0.4.0"
99
rustc-demangle = "0.1.21"
10+
11+
rustc_abi = { path = "../rustc_abi" }
1012
rustc_data_structures = { path = "../rustc_data_structures" }
1113
rustc_errors = { path = "../rustc_errors" }
1214
rustc_hir = { path = "../rustc_hir" }

compiler/rustc_symbol_mangling/src/v0.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::fmt::Write;
22
use std::iter;
33
use std::ops::Range;
44

5+
use rustc_abi::Integer;
56
use rustc_data_structures::base_n::ToBaseN;
67
use rustc_data_structures::fx::FxHashMap;
78
use rustc_data_structures::intern::Interned;
@@ -17,7 +18,6 @@ use rustc_middle::ty::{
1718
TyCtxt, TypeVisitable, TypeVisitableExt, UintTy,
1819
};
1920
use rustc_span::symbol::kw;
20-
use rustc_target::abi::Integer;
2121
use rustc_target::spec::abi::Abi;
2222

2323
pub(super) fn mangle<'tcx>(

0 commit comments

Comments
 (0)