]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libgfortran/kinds-override.h
fortran, libgfortran: Avoid using libquadmath for glibc 2.26+
[thirdparty/gcc.git] / libgfortran / kinds-override.h
index d1456c2ff266eb24c225ad86f4778a7fe4ad0b84..3762ee2c0d4802e9aedc98c26afdd220450921b0 100644 (file)
@@ -26,18 +26,26 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 /* Ensure that TFmode is available under.  */
 
 #if defined(GFC_REAL_16_IS_FLOAT128) && !defined(HAVE_FLOAT128)
-# error "Where has __float128 gone?"
+# error "Where has _Float128 gone?"
 #endif
 
 /* Keep these conditions on one line so grep can filter it out.  */
 #if defined(__powerpc64__)  && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__  && __SIZEOF_LONG_DOUBLE__ == 16
-typedef __float128 GFC_REAL_17;
-typedef _Complex float __attribute__((mode(KC))) GFC_COMPLEX_17;
+typedef _Float128 GFC_REAL_17;
+typedef _Complex _Float128 GFC_COMPLEX_17;
 #define HAVE_GFC_REAL_17
 #define HAVE_GFC_COMPLEX_17
+#define GFC_REAL_17_IS_FLOAT128
+#ifdef USE_IEC_60559
+#define GFC_REAL_17_USE_IEC_60559
+#define GFC_REAL_17_HUGE 1.18973149535723176508575932662800702e4932f128
+#define GFC_REAL_17_LITERAL_SUFFIX f128
+#define GFC_REAL_17_LITERAL(X) (X ## f128)
+#else
 #define GFC_REAL_17_HUGE 1.18973149535723176508575932662800702e4932q
 #define GFC_REAL_17_LITERAL_SUFFIX q
 #define GFC_REAL_17_LITERAL(X) (X ## q)
+#endif
 #define GFC_REAL_17_DIGITS 113
 #define GFC_REAL_17_RADIX 2
 #endif