Skip to content

Commit a99c95f

Browse files
committed
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`.
1 parent fa724e5 commit a99c95f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

library/std/build.rs

+3-3
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,
@@ -135,10 +135,10 @@ fn main() {
135135
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
136136
("sparc", _) => false,
137137
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
138-
("x86_64", "windows") => false,
138+
("x86_64", "windows") if target_env == "gnu" => false,
139139
// 64-bit Linux is about the only platform to have f128 symbols by default
140140
(_, "linux") if target_pointer_width == 64 => true,
141-
// Same as for f16, except MacOS is also missing f128 symbols.
141+
// Almost all OSs are missing symbol. compiler-builtins will have to add them.
142142
_ => false,
143143
};
144144

0 commit comments

Comments
 (0)