On Thu, 2020-10-22 at 18:15 -0400, Michael Meissner via Gcc-patches wrote: > PowerPC: Allow C/C++ to change long double type on GLIBC 2.32. > > This is a new patch. It turns off the warning about switching the long double > type via compile line if the GLIBC is 2.32 or newer. It only does this if the > languages are C or C++, since those language libraries support switching the > long double type. Other languages like Fortran don't have any current support > to provide both sets of interfaces to the library. > > 2020-10-21 Michael Meissner <meiss...@linux.ibm.com> > > * config/rs6000/rs6000.c (rs6000_option_override_internal): Allow > long double type to be changed for C/C++ if glibc 2.32 or newer. > --- > gcc/config/rs6000/rs6000.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c > index 50039c0a53d..940c15f3265 100644 > --- a/gcc/config/rs6000/rs6000.c > +++ b/gcc/config/rs6000/rs6000.c > @@ -4158,10 +4158,16 @@ rs6000_option_override_internal (bool global_init_p) > > if (rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT && > TARGET_LONG_DOUBLE_128) > { > + /* Determine if the user can change the default long double type at > + compilation time. Only C and C++ support this, and you need GLIBC > + 2.32 or newer. Only issue one warning. */
> static bool warned_change_long_double; > - if (!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)) > { > - warned_change_long_double = true; Does this need to be added back elsewhere? > if (TARGET_IEEEQUAD) > warning (OPT_Wpsabi, "Using IEEE extended precision " > "%<long double%>"); > -- > 2.22.0 > >