Skip to content

Commit d6be363

Browse files
Rollup merge of #132249 - workingjubilee:add-rustc-abi, r=compiler-errors
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 *significantly* entangled in my other PRs. This leaves an "excise rustc_target" step after the dust settles.
2 parents e20026c + 3f73fe7 commit d6be363

File tree

28 files changed

+39
-19
lines changed

28 files changed

+39
-19
lines changed

Cargo.lock

+9
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",
@@ -3906,6 +3908,7 @@ dependencies = [
39063908
name = "rustc_lint"
39073909
version = "0.0.0"
39083910
dependencies = [
3911+
"rustc_abi",
39093912
"rustc_ast",
39103913
"rustc_ast_pretty",
39113914
"rustc_attr",
@@ -3980,6 +3983,7 @@ dependencies = [
39803983
"bitflags 2.6.0",
39813984
"libloading",
39823985
"odht",
3986+
"rustc_abi",
39833987
"rustc_ast",
39843988
"rustc_attr",
39853989
"rustc_data_structures",
@@ -4074,6 +4078,7 @@ version = "0.0.0"
40744078
dependencies = [
40754079
"polonius-engine",
40764080
"regex",
4081+
"rustc_abi",
40774082
"rustc_ast",
40784083
"rustc_data_structures",
40794084
"rustc_errors",
@@ -4187,6 +4192,7 @@ dependencies = [
41874192
name = "rustc_passes"
41884193
version = "0.0.0"
41894194
dependencies = [
4195+
"rustc_abi",
41904196
"rustc_ast",
41914197
"rustc_ast_pretty",
41924198
"rustc_attr",
@@ -4213,6 +4219,7 @@ name = "rustc_pattern_analysis"
42134219
version = "0.0.0"
42144220
dependencies = [
42154221
"rustc-hash 2.0.0",
4222+
"rustc_abi",
42164223
"rustc_apfloat",
42174224
"rustc_arena",
42184225
"rustc_data_structures",
@@ -4352,6 +4359,7 @@ dependencies = [
43524359
"bitflags 2.6.0",
43534360
"getopts",
43544361
"libc",
4362+
"rustc_abi",
43554363
"rustc_ast",
43564364
"rustc_data_structures",
43574365
"rustc_errors",
@@ -4415,6 +4423,7 @@ version = "0.0.0"
44154423
dependencies = [
44164424
"punycode",
44174425
"rustc-demangle",
4426+
"rustc_abi",
44184427
"rustc_data_structures",
44194428
"rustc_errors",
44204429
"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_lint/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_lint/src/context.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ use rustc_data_structures::sync;
1111
use rustc_data_structures::unord::UnordMap;
1212
use rustc_errors::{Diag, LintDiagnostic, MultiSpan};
1313
use rustc_feature::Features;
14-
use rustc_hir as hir;
1514
use rustc_hir::def::Res;
1615
use rustc_hir::def_id::{CrateNum, DefId};
1716
use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData};
@@ -27,8 +26,8 @@ use rustc_session::{LintStoreMarker, Session};
2726
use rustc_span::Span;
2827
use rustc_span::edit_distance::find_best_match_for_names;
2928
use rustc_span::symbol::{Ident, Symbol, sym};
30-
use rustc_target::abi;
3129
use tracing::debug;
30+
use {rustc_abi as abi, rustc_hir as hir};
3231

3332
use self::TargetLint::*;
3433
use crate::levels::LintLevelsBuilder;

compiler/rustc_lint/src/foreign_modules.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use rustc_abi::FIRST_VARIANT;
12
use rustc_data_structures::stack::ensure_sufficient_stack;
23
use rustc_data_structures::unord::{UnordMap, UnordSet};
34
use rustc_hir as hir;
@@ -6,7 +7,6 @@ use rustc_middle::query::Providers;
67
use rustc_middle::ty::{self, AdtDef, Instance, Ty, TyCtxt};
78
use rustc_session::declare_lint;
89
use rustc_span::{Span, Symbol, sym};
9-
use rustc_target::abi::FIRST_VARIANT;
1010
use tracing::{debug, instrument};
1111

1212
use crate::lints::{BuiltinClashingExtern, BuiltinClashingExternSub};

compiler/rustc_lint/src/types/literal.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use hir::{ExprKind, Node, is_range_literal};
2+
use rustc_abi::{Integer, Size};
23
use rustc_middle::ty::Ty;
34
use rustc_middle::ty::layout::IntegerExt;
45
use rustc_middle::{bug, ty};
5-
use rustc_target::abi::{Integer, Size};
66
use {rustc_ast as ast, rustc_attr as attr, rustc_hir as hir};
77

88
use crate::LateContext;

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" }

0 commit comments

Comments
 (0)