Skip to content

Commit 58559fc

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 ed04567 commit 58559fc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: library/std/build.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ fn main() {
101101
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
102102
("arm64ec", _) => false,
103103
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
104-
("x86_64", "windows") => false,
104+
("x86_64", "windows") if target_env == "gnu" => false,
105105
// Apple has a special ABI for `f16` that we do not yet support
106106
// FIXME(builtins): fixed by <https://github.com/rust-lang/compiler-builtins/pull/675>
107107
("x86" | "x86_64", _) if target_vendor == "apple" => false,
@@ -132,10 +132,10 @@ fn main() {
132132
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
133133
("sparc", _) => false,
134134
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
135-
("x86_64", "windows") => false,
135+
("x86_64", "windows") if target_env == "gnu" => false,
136136
// 64-bit Linux is about the only platform to have f128 symbols by default
137137
(_, "linux") if target_pointer_width == 64 => true,
138-
// Same as for f16, except MacOS is also missing f128 symbols.
138+
// Almost all OSs are missing symbol. compiler-builtins will have to add them.
139139
_ => false,
140140
};
141141

0 commit comments

Comments
 (0)