@@ -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.
0 commit comments