@@ -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
@@ -366,7 +366,7 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
366366 let target_arch = & sess. target . arch ;
367367 let target_os = & sess. target . options . os ;
368368 let target_env = & sess. target . options . env ;
369- let target_abi = & sess. target . options . abi ;
369+ let target_abi = & sess. target . options . cfg_abi ;
370370 let target_pointer_width = sess. target . pointer_width ;
371371 let version = get_version ( ) ;
372372 let ( major, _, _) = version;
@@ -384,7 +384,9 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
384384 // Selection failure <https://github.com/llvm/llvm-project/issues/50374> (fixed in llvm21)
385385 ( Arch :: S390x , _) if major < 21 => false ,
386386 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
387- ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != Abi :: Llvm => false ,
387+ ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != CfgAbi :: Llvm => {
388+ false
389+ }
388390 // Infinite recursion <https://github.com/llvm/llvm-project/issues/97981>
389391 ( Arch :: CSky , _) if major < 22 => false , // (fixed in llvm22)
390392 ( Arch :: Hexagon , _) if major < 21 => false , // (fixed in llvm21)
@@ -417,7 +419,9 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
417419 // not fail if our compiler-builtins is linked. (fixed in llvm21)
418420 ( Arch :: X86 , _) if major < 21 => false ,
419421 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
420- ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != Abi :: Llvm => false ,
422+ ( Arch :: X86_64 , Os :: Windows ) if * target_env == Env :: Gnu && * target_abi != CfgAbi :: Llvm => {
423+ false
424+ }
421425 // There are no known problems on other platforms, so the only requirement is that symbols
422426 // are available. `compiler-builtins` provides all symbols required for core `f128`
423427 // support, so this should work for everything else.
0 commit comments