Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit ee9a311

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 + 83d56df commit ee9a311

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

library/std/build.rs

Lines changed: 6 additions & 7 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy