Skip to content

Commit be42f3f

Browse files
committed
turn pointer width into an integer in target.json
1 parent 8adc296 commit be42f3f

File tree

12 files changed

+14
-17
lines changed

12 files changed

+14
-17
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_ast_ir/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ impl IntTy {
6969
})
7070
}
7171

72-
pub fn normalize(&self, target_width: u32) -> Self {
72+
pub fn normalize(&self, target_width: u16) -> Self {
7373
match self {
7474
IntTy::Isize => match target_width {
7575
16 => IntTy::I16,
@@ -148,7 +148,7 @@ impl UintTy {
148148
})
149149
}
150150

151-
pub fn normalize(&self, target_width: u32) -> Self {
151+
pub fn normalize(&self, target_width: u16) -> Self {
152152
match self {
153153
UintTy::Usize => match target_width {
154154
16 => UintTy::U16,

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>,

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
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"data-layout": "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32",
33
"linker-flavor": "gcc",
44
"target-endian": "little",
5-
"target-pointer-width": "32",
5+
"target-pointer-width": 32,
66
"arch": "x86",
77
"os": "foo"
88
}

0 commit comments

Comments
 (0)