@@ -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. |