Skip to content

Commit 3d3b917

Browse files
committed
turn pointer width into an integer in target.json
1 parent d84d4dc commit 3d3b917

File tree

13 files changed

+15
-18
lines changed

13 files changed

+15
-18
lines changed

compiler/rustc_abi/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ pub enum TargetDataLayoutErrors<'a> {
315315
MissingAlignment { cause: &'a str },
316316
InvalidAlignment { cause: &'a str, err: AlignFromBytesError },
317317
InconsistentTargetArchitecture { dl: &'a str, target: &'a str },
318-
InconsistentTargetPointerWidth { pointer_size: u64, target: u32 },
318+
InconsistentTargetPointerWidth { pointer_size: u64, target: u16 },
319319
InvalidBitsSize { err: String },
320320
UnknownPointerSpecification { err: String },
321321
}

compiler/rustc_target/src/spec/json.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ impl Target {
2525
let mut base = Target {
2626
llvm_target: json.llvm_target,
2727
metadata: Default::default(),
28-
pointer_width: json
29-
.target_pointer_width
30-
.parse()
31-
.map_err(|err| format!("invalid target-pointer-width: {err}"))?,
28+
pointer_width: json.target_pointer_width,
3229
data_layout: json.data_layout,
3330
arch: json.arch,
3431
options: Default::default(),
@@ -461,7 +458,7 @@ struct TargetSpecJsonMetadata {
461458
#[serde(deny_unknown_fields)]
462459
struct TargetSpecJson {
463460
llvm_target: StaticCow<str>,
464-
target_pointer_width: String,
461+
target_pointer_width: u16,
465462
data_layout: StaticCow<str>,
466463
arch: StaticCow<str>,
467464

compiler/rustc_target/src/spec/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2311,7 +2311,7 @@ pub struct Target {
23112311
/// Used for generating target documentation.
23122312
pub metadata: TargetMetadata,
23132313
/// Number of bits in a pointer. Influences the `target_pointer_width` `cfg` variable.
2314-
pub pointer_width: u32,
2314+
pub pointer_width: u16,
23152315
/// Architecture to use for ABI considerations. Valid options include: "x86",
23162316
/// "x86_64", "arm", "aarch64", "mips", "powerpc", "powerpc64", and others.
23172317
pub arch: StaticCow<str>,

compiler/rustc_type_ir/src/ty_kind.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ impl IntTy {
546546
})
547547
}
548548

549-
pub fn normalize(&self, target_width: u32) -> Self {
549+
pub fn normalize(&self, target_width: u16) -> Self {
550550
match self {
551551
IntTy::Isize => match target_width {
552552
16 => IntTy::I16,
@@ -607,7 +607,7 @@ impl UintTy {
607607
})
608608
}
609609

610-
pub fn normalize(&self, target_width: u32) -> Self {
610+
pub fn normalize(&self, target_width: u16) -> Self {
611611
match self {
612612
UintTy::Usize => match target_width {
613613
16 => UintTy::U16,

src/tools/compiletest/src/common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1064,7 +1064,7 @@ pub struct TargetCfg {
10641064
pub(crate) abi: String,
10651065
#[serde(rename = "target-family", default)]
10661066
pub(crate) families: Vec<String>,
1067-
#[serde(rename = "target-pointer-width", deserialize_with = "serde_parse_u32")]
1067+
#[serde(rename = "target-pointer-width")]
10681068
pub(crate) pointer_width: u32,
10691069
#[serde(rename = "target-endian", default)]
10701070
endian: Endian,

tests/run-make/rust-lld-custom-target/custom-target.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@
5353
"target-family": [
5454
"unix"
5555
],
56-
"target-pointer-width": "64"
56+
"target-pointer-width": 64
5757
}

tests/run-make/rustdoc-target-spec-json-path/target.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@
3333
"thread"
3434
],
3535
"target-family": "unix",
36-
"target-pointer-width": "64"
36+
"target-pointer-width": 64
3737
}

tests/run-make/target-specs/endianness-mismatch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"linker-flavor": "gcc",
55
"llvm-target": "x86_64-unknown-linux-gnu",
66
"target-endian": "big",
7-
"target-pointer-width": "64",
7+
"target-pointer-width": 64,
88
"arch": "x86_64",
99
"os": "linux"
1010
}

tests/run-make/target-specs/mismatching-data-layout.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"arch": "x86_64",
33
"data-layout": "e-m:e-i64:16:32:64",
44
"llvm-target": "x86_64-unknown-unknown-gnu",
5-
"target-pointer-width": "64"
5+
"target-pointer-width": 64
66
}

tests/run-make/target-specs/my-awesome-platform.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"linker-flavor": "gcc",
44
"llvm-target": "i686-unknown-linux-gnu",
55
"target-endian": "little",
6-
"target-pointer-width": "32",
6+
"target-pointer-width": 32,
77
"arch": "x86",
88
"os": "linux"
99
}

0 commit comments

Comments
 (0)