mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 06:49:09 +02:00
aarch64: mingw: Disable _Float128 emulation
The Windows ABI doesn't support _Float128: https://learn.microsoft.com/en-us/cpp/build/ieee-floating-point-representation. While it can be emulated for this target, the current implementation prevents fortran from being built with this emulation. This patch disables _Float128 emulation for aarch64-w64-mingw32 target. This enables fortran to be built with no additional changes. gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_scalar_mode_supported_p): Only return true on TFmode if TARGET_LONG_DOUBLE_128 is set. libgcc/ChangeLog: * config.host: Disable soft floating point. Co-Authored-By: Evgeny Karpov <evgeny.karpov@arm.com>
This commit is contained in:
@@ -30400,7 +30400,7 @@ aarch64_scalar_mode_supported_p (scalar_mode mode)
|
||||
return default_decimal_float_supported_p ();
|
||||
|
||||
if (mode == TFmode)
|
||||
return true;
|
||||
return TARGET_LONG_DOUBLE_128 != 0;
|
||||
|
||||
return ((mode == HFmode || mode == BFmode)
|
||||
? true
|
||||
|
||||
@@ -468,7 +468,7 @@ aarch64-*-mingw*)
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-mingw"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-lse"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
|
||||
tmake_file="${tmake_file} t-crtfm"
|
||||
;;
|
||||
alpha*-*-linux*)
|
||||
tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
|
||||
|
||||
Reference in New Issue
Block a user