@@ -16,7 +16,7 @@ use rustc_middle::bug;
1616use rustc_session:: Session ;
1717use rustc_session:: config:: { PrintKind , PrintRequest } ;
1818use rustc_target:: spec:: {
19- Abi , Arch , Env , MergeFunctions , Os , PanicStrategy , SmallDataThresholdSupport ,
19+ Arch , CfgAbi , Env , MergeFunctions , Os , PanicStrategy , SmallDataThresholdSupport ,
2020} ;
2121use smallvec:: { SmallVec , smallvec} ;
2222
@@ -362,7 +362,7 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
362362 let target_arch = & sess. target . arch ;
363363 let target_os = & sess. target . options . os ;
364364 let target_env = & sess. target . options . env ;
365- let target_abi = & sess. target . options . abi ;
365+ let target_abi = & sess. target . options . cfg_abi ;
366366 let target_pointer_width = sess. target . pointer_width ;
367367 let version = get_version ( ) ;
368368 let ( major, _, _) = version;
@@ -371,7 +371,9 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
371371 // Unsupported <https://github.com/llvm/llvm-project/issues/94434> (fixed in llvm22)
372372 ( Arch :: Arm64EC , _) if major < 22 => false ,
373373 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
374- ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != Abi :: Llvm => false ,
374+ ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != CfgAbi :: Llvm => {
375+ false
376+ }
375377 // Infinite recursion <https://github.com/llvm/llvm-project/issues/97981>
376378 ( Arch :: CSky , _) if major < 22 => false , // (fixed in llvm22)
377379 ( Arch :: PowerPC | Arch :: PowerPC64 , _) if major < 22 => false , // (fixed in llvm22)
@@ -397,7 +399,9 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
397399 // ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
398400 ( Arch :: Sparc , _) => false ,
399401 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
400- ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != Abi :: Llvm => false ,
402+ ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != CfgAbi :: Llvm => {
403+ false
404+ }
401405 // There are no known problems on other platforms, so the only requirement is that symbols
402406 // are available. `compiler-builtins` provides all symbols required for core `f128`
403407 // support, so this should work for everything else.
0 commit comments