enable f16 and f128 on windows-gnullvm targets · qinheping/verify-rust-std@0f71b38 (original) (raw)

Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ fn main() {
7 7 let target_vendor =
8 8 env::var("CARGO_CFG_TARGET_VENDOR").expect("CARGO_CFG_TARGET_VENDOR was not set");
9 9 let target_env = env::var("CARGO_CFG_TARGET_ENV").expect("CARGO_CFG_TARGET_ENV was not set");
10 +let target_abi = env::var("CARGO_CFG_TARGET_ABI").expect("CARGO_CFG_TARGET_ABI was not set");
10 11 let target_pointer_width: u32 = env::var("CARGO_CFG_TARGET_POINTER_WIDTH")
11 12 .expect("CARGO_CFG_TARGET_POINTER_WIDTH was not set")
12 13 .parse()
@@ -101,7 +102,7 @@ fn main() {
101 102 // Unsupported https://github.com/llvm/llvm-project/issues/94434
102 103 ("arm64ec", _) => false,
103 104 // MinGW ABI bugs https://gcc.gnu.org/bugzilla/show\_bug.cgi?id=115054
104 -("x86_64", "windows") if target_env == "gnu" => false,
105 +("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
105 106 // Infinite recursion https://github.com/llvm/llvm-project/issues/97981
106 107 ("csky", _) => false,
107 108 ("hexagon", _) => false,
@@ -129,7 +130,7 @@ fn main() {
129 130 // ABI unsupported https://github.com/llvm/llvm-project/issues/41838
130 131 ("sparc", _) => false,
131 132 // MinGW ABI bugs https://gcc.gnu.org/bugzilla/show\_bug.cgi?id=115054
132 -("x86_64", "windows") if target_env == "gnu" => false,
133 +("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
133 134 // 64-bit Linux is about the only platform to have f128 symbols by default
134 135 (_, "linux") if target_pointer_width == 64 => true,
135 136 // Almost all OSs are missing symbol. compiler-builtins will have to add them.