summaryrefslogtreecommitdiff
path: root/toolchain/gcc/patches/4.2.0/307-long_double_fix.patch
blob: 1229bdc1bd8d7cfd59723a12f6835d7d2f2e8fed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Index: gcc-4.2.0/gcc/config/rs6000/darwin-ldouble.c
===================================================================
--- gcc-4.2.0.orig/gcc/config/rs6000/darwin-ldouble.c	2007-06-28 20:56:39.222667344 +0200
+++ gcc-4.2.0/gcc/config/rs6000/darwin-ldouble.c	2007-06-28 20:57:02.258165416 +0200
@@ -49,9 +49,10 @@
 
    This code currently assumes big-endian.  */
 
-#if ((!defined (__NO_FPRS__) || defined (_SOFT_FLOAT)) \
+#if (defined (__LONG_DOUBLE_128__) && \
+	((!defined (__NO_FPRS__) || defined (_SOFT_FLOAT)) \
      && !defined (__LITTLE_ENDIAN__) \
-     && (defined (__MACH__) || defined (__powerpc__) || defined (_AIX)))
+     && (defined (__MACH__) || defined (__powerpc__) || defined (_AIX))))
 
 #define fabs(x) __builtin_fabs(x)
 #define isless(x, y) __builtin_isless (x, y)
@@ -219,7 +220,7 @@
   return z.ldval;
 }
 
-#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
+#ifdef _SOFT_FLOAT
 
 long double __gcc_qneg (double, double);
 int __gcc_qeq (double, double, double, double);