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