Skip to content

Commit 2db5115

Browse files
committed
Auto merge of rust-lang#130959 - tgross35:f16-f128-only-disable-win-gnu, r=<try>
Enable `f16` tests on non-GNU Windows There is a MinGW ABI bug that prevents `f16` and `f128` from being usable on `windows-gnu` targets. This does not affect MSVC; however, we have `f16` and `f128` tests disabled on all Windows targets. Update the gating to only affect `windows-gnu`, which means `f16` tests will be enabled. There is no effect for `f128` since the default fallback is `false`. try-job: x86_64-msvc try-job: i686-msvc
2 parents fa724e5 + a8902f0 commit 2db5115

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

library/std/build.rs

+6-7
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ fn main() {
104104
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
105105
("arm64ec", _) => false,
106106
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
107-
("x86_64", "windows") => false,
107+
("x86_64", "windows") if target_env == "gnu" => false,
108108
// Apple has a special ABI for `f16` that we do not yet support
109109
// FIXME(builtins): fixed by <https://github.com/rust-lang/compiler-builtins/pull/675>
110110
("x86" | "x86_64", _) if target_vendor == "apple" => false,
@@ -116,10 +116,9 @@ fn main() {
116116
("riscv32" | "riscv64", _) => false,
117117
// Most OSs are missing `__extendhfsf` and `__truncsfhf`
118118
(_, "linux" | "macos") => true,
119-
// Almost all OSs besides Linux and MacOS are missing symbols until compiler-builtins can
120-
// be updated. <https://github.com/rust-lang/rust/pull/125016> will get some of these, the
121-
// next CB update should get the rest.
122-
_ => false,
119+
// TODO: only for testing, this line will wind up changed as part of
120+
// <https://github.com/rust-lang/rust/pull/129385>.
121+
_ => true,
123122
};
124123

125124
let has_reliable_f128 = match (target_arch.as_str(), target_os.as_str()) {
@@ -135,10 +134,10 @@ fn main() {
135134
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
136135
("sparc", _) => false,
137136
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
138-
("x86_64", "windows") => false,
137+
("x86_64", "windows") if target_env == "gnu" => false,
139138
// 64-bit Linux is about the only platform to have f128 symbols by default
140139
(_, "linux") if target_pointer_width == 64 => true,
141-
// Same as for f16, except MacOS is also missing f128 symbols.
140+
// Almost all OSs are missing symbol. compiler-builtins will have to add them.
142141
_ => false,
143142
};
144143

0 commit comments

Comments
 (0)