Allow other languages to change long double format on PowerPC.

With Fortran adding support for changing the long double format, this
patch removes the code that only allowed C/C++ to change the long double
format for GLIBC 2.32 and later without a warning.

I have bootstraped the compiler with this change and there where no
regressesion.  In addition, I have applied it to the power-ieee128 branch where
the work is being done to add support for both types of 128-bit floating point
on PowerPC.  If I build a compiler from that branch, I can change the 128-bit
floating point format at compile time.

Can I check this patch into the trunk GCC compiler?

gcc/
2022-01-12  Michael Meissner  <meiss...@the-meissners.org>

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
        checks for only C/C++ front ends before allowing the long double
        format to change without a warning.
---
 gcc/config/rs6000/rs6000.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 319182e94d9..0e3481c8327 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4221,13 +4221,11 @@ 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.  */
+            compilation time.  You need GLIBC 2.32 or newer to be able to
+            change the long double type.  Only issue one warning.  */
          static bool warned_change_long_double;
 
-         if (!warned_change_long_double
-             && (!glibc_supports_ieee_128bit ()
-                 || (!lang_GNU_C () && !lang_GNU_CXX ())))
+         if (!warned_change_long_double && !glibc_supports_ieee_128bit ())
            {
              warned_change_long_double = true;
              if (TARGET_IEEEQUAD)
-- 
2.33.1


-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com

Reply via email to