R/R-3.6.2-ppc64-no-const-long-double.patch

16 lines
629 B
Diff
Raw Normal View History

diff -up ./src/main/arithmetic.c.orig ./src/main/arithmetic.c
--- ./src/main/arithmetic.c.orig 2019-12-12 18:30:12.416334062 +0000
+++ ./src/main/arithmetic.c 2019-12-12 18:30:44.966334062 +0000
@@ -179,7 +179,10 @@ void attribute_hidden InitArithmetic()
#endif
}
-#if HAVE_LONG_DOUBLE && (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE)
+/* PowerPC 64 (when gcc has -mlong-double-128) breaks here because
+ * of issues constant folding 128bit IBM long doubles.
+ */
+#if HAVE_LONG_DOUBLE && (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE) && !__PPC64__
static LDOUBLE q_1_eps = 1 / LDBL_EPSILON;
#else
static double q_1_eps = 1 / DBL_EPSILON;