PowerPC: Don't assume all targets have GLIBC.
gcc/ 2020-10-30 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.c (glibc_supports_ieee_128bit): New helper function. (rs6000_option_override_internal): Call it.
This commit is contained in:
parent
a1343e5c74
commit
f03851e1a6
@ -3539,6 +3539,20 @@ rs6000_linux64_override_options ()
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Return true if we are using GLIBC, and it supports IEEE 128-bit long double.
|
||||
This support is only in little endian GLIBC 2.32 or newer. */
|
||||
static bool
|
||||
glibc_supports_ieee_128bit (void)
|
||||
{
|
||||
#ifdef OPTION_GLIBC
|
||||
if (OPTION_GLIBC && !BYTES_BIG_ENDIAN
|
||||
&& ((TARGET_GLIBC_MAJOR * 1000) + TARGET_GLIBC_MINOR) >= 2032)
|
||||
return true;
|
||||
#endif /* OPTION_GLIBC. */
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Override command line options.
|
||||
|
||||
Combine build-specific configuration information with options
|
||||
@ -4164,9 +4178,8 @@ rs6000_option_override_internal (bool global_init_p)
|
||||
static bool warned_change_long_double;
|
||||
|
||||
if (!warned_change_long_double
|
||||
&& (!OPTION_GLIBC
|
||||
|| (!lang_GNU_C () && !lang_GNU_CXX ())
|
||||
|| ((TARGET_GLIBC_MAJOR * 1000) + TARGET_GLIBC_MINOR) < 2032))
|
||||
&& (!glibc_supports_ieee_128bit ()
|
||||
|| (!lang_GNU_C () && !lang_GNU_CXX ())))
|
||||
{
|
||||
warned_change_long_double = true;
|
||||
if (TARGET_IEEEQUAD)
|
||||
|
Loading…
Reference in New Issue
Block a user