Skip to content

Commit 2ec481c

Browse files
committed
Auto merge of #132434 - tgross35:f128-tests, r=<try>
Enable f128 tests on all non-buggy platforms 🎉 With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. Math support is still off by default since those symbols are not yet available. [1]: #132433 try-job: test-various try-job: i686-gnu-nopt
2 parents b8c8287 + 898ecf0 commit 2ec481c

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

Diff for: library/Cargo.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ dependencies = [
6161

6262
[[package]]
6363
name = "compiler_builtins"
64-
version = "0.1.136"
64+
version = "0.1.138"
6565
source = "registry+https://github.com/rust-lang/crates.io-index"
66-
checksum = "33ccee9dd499d7ada4c81533382ce87e88c52b0676c7320b2e617d29e1bb3a3f"
66+
checksum = "53f0ea7fff95b51f84371588f06062557e96bbe363d2b36218ddb806f3ca8611"
6767
dependencies = [
6868
"cc",
6969
"rustc-std-workspace-core",

Diff for: library/alloc/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ edition = "2021"
1010

1111
[dependencies]
1212
core = { path = "../core" }
13-
compiler_builtins = { version = "0.1.136", features = ['rustc-dep-of-std'] }
13+
compiler_builtins = { version = "=0.1.138", features = ['rustc-dep-of-std'] }
1414

1515
[dev-dependencies]
1616
rand = { version = "0.8.5", default-features = false, features = ["alloc"] }

Diff for: library/std/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] }
1717
panic_unwind = { path = "../panic_unwind", optional = true }
1818
panic_abort = { path = "../panic_abort" }
1919
core = { path = "../core", public = true }
20-
compiler_builtins = { version = "0.1.136" }
20+
compiler_builtins = { version = "=0.1.138" }
2121
unwind = { path = "../unwind" }
2222
hashbrown = { version = "0.15", default-features = false, features = [
2323
'rustc-dep-of-std',

Diff for: library/std/build.rs

+11-7
Original file line numberDiff line numberDiff line change
@@ -122,19 +122,23 @@ fn main() {
122122
_ if is_miri => true,
123123
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
124124
("arm64ec", _) => false,
125-
// ABI and precision bugs <https://github.com/rust-lang/rust/issues/125109>
126-
// <https://github.com/rust-lang/rust/issues/125102>
127-
("powerpc" | "powerpc64", _) => false,
125+
// Selection bug <https://github.com/llvm/llvm-project/issues/96432>
126+
("mips" | "mips64" | "mips32r6" | "mips64r6", _) => false,
128127
// Selection bug <https://github.com/llvm/llvm-project/issues/95471>
129128
("nvptx64", _) => false,
129+
// ABI and precision bugs <https://github.com/rust-lang/rust/issues/125109>
130+
("powerpc" | "powerpc64", _) => false,
130131
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
131132
("sparc", _) => false,
133+
// Stack alignment bug <https://github.com/llvm/llvm-project/issues/77401>. NB: tests may
134+
// not fail if our compiler-builtins is linked.
135+
("x86", _) => false,
132136
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
133137
("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
134-
// 64-bit Linux is about the only platform to have f128 symbols by default
135-
(_, "linux") if target_pointer_width == 64 => true,
136-
// Almost all OSs are missing symbol. compiler-builtins will have to add them.
137-
_ => false,
138+
// There are no known problems on other platforms, so the only requirement is that symbols
139+
// are available. `compiler-builtins` provides all symbols required for core `f128`
140+
// support, so this should work for everything else.
141+
_ => true,
138142
};
139143

140144
// Configure platforms that have reliable basics but may have unreliable math.

0 commit comments

Comments
 (0)