PowerPC: Allow C/C++ to change long double type on GLIBC 2.32.
Michael Meissner
meissner@linux.ibm.com
Thu Oct 29 17:05:54 GMT 2020
On Mon, Oct 26, 2020 at 05:48:48PM -0500, will schmidt wrote:
> 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 <meissner@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?
At the present time, we are not contemplating adding the full support to enable
configuring GCC to use IEEE 128-bit long double in GCC 10 or earlier. This may
change depending on customer demands.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.ibm.com, phone: +1 (978) 899-4797
More information about the Gcc-patches
mailing list