aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-02-08 04:37:48 +0000
committerRichard Henderson <rth@redhat.com>2005-02-08 04:37:48 +0000
commitbc82059d34cc5679b5bdaf854b864de3eb0562db (patch)
tree5c90f54cefffd4323732cceab1634d6f93f1415e
parentecc1d0c301d97bdd540ff8d414a2eb4dcae51ea0 (diff)
downloadglibc-bc82059d34cc5679b5bdaf854b864de3eb0562db.tar
glibc-bc82059d34cc5679b5bdaf854b864de3eb0562db.tar.gz
glibc-bc82059d34cc5679b5bdaf854b864de3eb0562db.tar.bz2
glibc-bc82059d34cc5679b5bdaf854b864de3eb0562db.zip
* math/math_private.h (__copysign): Define as builtin for gcc 4. (__copysignf, __copysignl): Likewise. * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define for gcc 4.0. (copysignf, copysignl, fabsf, fabs): Likewise. (__copysign, __copysignf, __copysignl): Remove. (__fabs, __fabsf): Remove.
2005-01-07 Richard Henderson <rth@redhat.com> * math/math_private.h (__copysign): Define as builtin for gcc 4. (__copysignf, __copysignl): Likewise. * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define for gcc 4.0. (copysignf, copysignl, fabsf, fabs): Likewise. (__copysign, __copysignf, __copysignl): Remove. (__fabs, __fabsf): Remove.
-rw-r--r--ChangeLog10
-rw-r--r--math/math_private.h14
-rw-r--r--sysdeps/alpha/fpu/bits/mathinline.h17
3 files changed, 29 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 14bb890be7..d66af56070 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-01-07 Richard Henderson <rth@redhat.com>
+
+ * math/math_private.h (__copysign): Define as builtin for gcc 4.
+ (__copysignf, __copysignl): Likewise.
+ * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define
+ for gcc 4.0.
+ (copysignf, copysignl, fabsf, fabs): Likewise.
+ (__copysign, __copysignf, __copysignl): Remove.
+ (__fabs, __fabsf): Remove.
+
2005-01-07 Jakub Jelinek <jakub@redhat.com>
* elf/dl-load.c (open_path): If rtld_search_dirs is in RELRO segment,
diff --git a/math/math_private.h b/math/math_private.h
index f545841df0..a6a85d3b1e 100644
--- a/math/math_private.h
+++ b/math/math_private.h
@@ -192,6 +192,10 @@ extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
/* internal functions. */
extern double __copysign (double x, double __y);
+#if __GNUC_PREREQ (4, 0)
+extern inline double __copysign (double x, double y)
+{ return __builtin_copysign (x, y); }
+#endif
/* ieee style elementary float functions */
extern float __ieee754_sqrtf (float);
@@ -235,6 +239,10 @@ extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
/* internal functions. */
extern float __copysignf (float x, float __y);
+#if __GNUC_PREREQ (4, 0)
+extern inline float __copysignf (float x, float y)
+{ return __builtin_copysignf (x, y); }
+#endif
/* ieee style elementary long double functions */
extern long double __ieee754_sqrtl (long double);
@@ -298,6 +306,12 @@ extern long double fabsl (long double x);
extern void __sincosl (long double, long double *, long double *);
extern long double __logbl (long double x);
extern long double __significandl (long double x);
+
+#if __GNUC_PREREQ (4, 0)
+extern inline long double __copysignl (long double x, long double y)
+{ return __builtin_copysignl (x, y); }
+#endif
+
#endif
/* Prototypes for functions of the IBM Accurate Mathematical Library. */
diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h
index 187bd42f33..87d40058c3 100644
--- a/sysdeps/alpha/fpu/bits/mathinline.h
+++ b/sysdeps/alpha/fpu/bits/mathinline.h
@@ -46,7 +46,8 @@
#if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
&& defined __OPTIMIZE__
-#define __inline_copysign(NAME, TYPE) \
+#if !__GNUC_PREREQ (4, 0)
+# define __inline_copysign(NAME, TYPE) \
__MATH_INLINE TYPE \
__NTH (NAME (TYPE __x, TYPE __y)) \
{ \
@@ -60,19 +61,11 @@ __inline_copysign (copysignf, float)
__inline_copysign (__copysign, double)
__inline_copysign (copysign, double)
-#undef __MATH_INLINE_copysign
+# undef __inline_copysign
+#endif
-#if __GNUC_PREREQ (2, 8)
-__MATH_INLINE float
-__NTH (__fabsf (float __x)) { return __builtin_fabsf (__x); }
-__MATH_INLINE float
-__NTH (fabsf (float __x)) { return __builtin_fabsf (__x); }
-__MATH_INLINE double
-__NTH (__fabs (double __x)) { return __builtin_fabs (__x); }
-__MATH_INLINE double
-__NTH (fabs (double __x)) { return __builtin_fabs (__x); }
-#else
+#if !__GNUC_PREREQ (2, 8)
# define __inline_fabs(NAME, TYPE) \
__MATH_INLINE TYPE \
__NTH (NAME (TYPE __x)) \