Skip to content

Commit 3b40634

Browse files
committed
Auto merge of rust-lang#132434 - tgross35:f128-tests, r=workingjubilee
Update `compiler-builtins` and enable f128 tests on all non-buggy platforms Update compiler_builtins to 0.1.138 and pin it. This updates to a new version of builtins that includes [1], which was the last blocker to us enabling `f128` tests on all platforms. With that, we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to systems that provide `f128` symbols themselves, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs and some that had to get updated. Math support is still off by default since those symbols are not yet available. [1]: rust-lang/compiler-builtins#624 try-job: test-various try-job: i686-gnu-nopt
2 parents 2bb8ea3 + 5dea8b2 commit 3b40634

File tree

4 files changed

+16
-11
lines changed

4 files changed

+16
-11
lines changed

Cargo.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

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

std/build.rs

+12-7
Original file line numberDiff line numberDiff line change
@@ -122,19 +122,24 @@ 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+
("mips64" | "mips64r6", _) => false,
128127
// Selection bug <https://github.com/llvm/llvm-project/issues/95471>
129128
("nvptx64", _) => false,
129+
// ABI bugs <https://github.com/rust-lang/rust/issues/125109> et al. (full
130+
// list at <https://github.com/rust-lang/rust/issues/116909>)
131+
("powerpc" | "powerpc64", _) => false,
130132
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
131133
("sparc", _) => false,
134+
// Stack alignment bug <https://github.com/llvm/llvm-project/issues/77401>. NB: tests may
135+
// not fail if our compiler-builtins is linked.
136+
("x86", _) => false,
132137
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
133138
("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,
139+
// There are no known problems on other platforms, so the only requirement is that symbols
140+
// are available. `compiler-builtins` provides all symbols required for core `f128`
141+
// support, so this should work for everything else.
142+
_ => true,
138143
};
139144

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

0 commit comments

Comments
 (0)