@@ -15,7 +15,7 @@ use rustc_fs_util::path_to_c_string;
1515use rustc_middle:: bug;
1616use rustc_session:: Session ;
1717use rustc_session:: config:: { PrintKind , PrintRequest } ;
18- use rustc_target:: spec:: { Arch , MergeFunctions , PanicStrategy , SmallDataThresholdSupport } ;
18+ use rustc_target:: spec:: { ABI , Arch , MergeFunctions , PanicStrategy , SmallDataThresholdSupport } ;
1919use smallvec:: { SmallVec , smallvec} ;
2020
2121use crate :: back:: write:: create_informational_target_machine;
@@ -353,7 +353,7 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
353353 let target_arch = & sess. target . arch ;
354354 let target_os = sess. target . options . os . as_ref ( ) ;
355355 let target_env = sess. target . options . env . as_ref ( ) ;
356- let target_abi = sess. target . options . abi . as_ref ( ) ;
356+ let target_abi = & sess. target . options . abi ;
357357 let target_pointer_width = sess. target . pointer_width ;
358358 let version = get_version ( ) ;
359359 let lt_20_1_1 = version < ( 20 , 1 , 1 ) ;
@@ -371,7 +371,7 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
371371 // Selection failure <https://github.com/llvm/llvm-project/issues/50374> (fixed in llvm21)
372372 ( Arch :: S390x , _) if lt_21_0_0 => false ,
373373 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
374- ( Arch :: X86_64 , "windows" ) if target_env == "gnu" && target_abi != "llvm" => false ,
374+ ( Arch :: X86_64 , "windows" ) if target_env == "gnu" && * target_abi != ABI :: Llvm => false ,
375375 // Infinite recursion <https://github.com/llvm/llvm-project/issues/97981>
376376 ( Arch :: CSky , _) => false ,
377377 ( Arch :: Hexagon , _) if lt_21_0_0 => false , // (fixed in llvm21)
@@ -403,7 +403,7 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
403403 // not fail if our compiler-builtins is linked. (fixed in llvm21)
404404 ( Arch :: X86 , _) if lt_21_0_0 => false ,
405405 // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
406- ( Arch :: X86_64 , "windows" ) if target_env == "gnu" && target_abi != "llvm" => false ,
406+ ( Arch :: X86_64 , "windows" ) if target_env == "gnu" && * target_abi != ABI :: Llvm => false ,
407407 // There are no known problems on other platforms, so the only requirement is that symbols
408408 // are available. `compiler-builtins` provides all symbols required for core `f128`
409409 // support, so this should work for everything else.
0 commit comments