aboutsummaryrefslogtreecommitdiff
path: root/math/tgmath.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-02-07 18:20:15 +0000
committerUlrich Drepper <drepper@redhat.com>2001-02-07 18:20:15 +0000
commit0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750 (patch)
treed45604d9583773fe84d5a2dd31eb562f13c02268 /math/tgmath.h
parent5d96a5f68915ac7edbe54b1ebfaf9c7c500fdd1c (diff)
downloadglibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.tar
glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.tar.gz
glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.tar.bz2
glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.zip
Only add l suffixes if __NO_LONG_DOUBLE_MATH is not defined.
Diffstat (limited to 'math/tgmath.h')
-rw-r--r--math/tgmath.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/math/tgmath.h b/math/tgmath.h
index 286ea56df0..0c02aaa6e7 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -36,6 +36,12 @@
#if __GNUC_PREREQ (2, 7)
+# ifdef __NO_LONG_DOUBLE_MATH
+# define __tgml(fct) fct
+# else
+# define __tgml(fct) fct ## l
+# endif
+
/* This is ugly but unless gcc gets appropriate builtins we have to do
something like this. Don't ask how it works. */
@@ -65,7 +71,7 @@
else if (sizeof (Val) == sizeof (float)) \
__tgmres = Fct##f (Val); \
else \
- __tgmres = Fct##l (Val); \
+ __tgmres = __tgml(Fct) (Val); \
__tgmres; }))
# define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \
@@ -76,7 +82,7 @@
else if (sizeof (Val1) == sizeof (float)) \
__tgmres = Fct##f (Val1, Val2); \
else \
- __tgmres = Fct##l (Val1, Val2); \
+ __tgmres = __tgml(Fct) (Val1, Val2); \
__tgmres; }))
# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \
@@ -84,7 +90,7 @@
if ((sizeof (Val1) > sizeof (double) \
|| sizeof (Val2) > sizeof (double)) \
&& __builtin_classify_type ((Val1) + (Val2)) == 8) \
- __tgmres = Fct##l (Val1, Val2); \
+ __tgmres = __tgml(Fct) (Val1, Val2); \
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| __builtin_classify_type ((Val1) \
@@ -99,7 +105,7 @@
if ((sizeof (Val1) > sizeof (double) \
|| sizeof (Val2) > sizeof (double)) \
&& __builtin_classify_type ((Val1) + (Val2)) == 8) \
- __tgmres = Fct##l (Val1, Val2, Val3); \
+ __tgmres = __tgml(Fct) (Val1, Val2, Val3); \
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| __builtin_classify_type ((Val1) \
@@ -116,7 +122,7 @@
|| sizeof (Val3) > sizeof (double)) \
&& __builtin_classify_type ((Val1) + (Val2) \
+ (Val3)) == 8) \
- __tgmres = Fct##l (Val1, Val2, Val3); \
+ __tgmres = __tgml(Fct) (Val1, Val2, Val3); \
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| sizeof (Val3) == sizeof (double) \
@@ -135,9 +141,9 @@
&& __builtin_classify_type (__real__ (Val)) == 8) \
{ \
if (sizeof (__real__ (Val)) == sizeof (Val)) \
- __tgmres = Fct##l (Val); \
+ __tgmres = __tgml(Fct) (Val); \
else \
- __tgmres = Cfct##l (Val); \
+ __tgmres = __tgml(Cfct) (Val); \
} \
else if (sizeof (__real__ (Val)) == sizeof (double) \
|| __builtin_classify_type (__real__ (Val)) \
@@ -167,7 +173,7 @@
else if (sizeof (Val) == sizeof (__complex__ float)) \
__tgmres = Fct##f (Val); \
else \
- __tgmres = Fct##l (Val); \
+ __tgmres = __tgml(Fct) (Val); \
__tgmres; }))
/* XXX This definition has to be changed as soon as the compiler understands
@@ -182,9 +188,9 @@
{ \
if (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2)) \
- __tgmres = Fct##l (Val1, Val2); \
+ __tgmres = __tgml(Fct) (Val1, Val2); \
else \
- __tgmres = Cfct##l (Val1, Val2); \
+ __tgmres = __tgml(Cfct) (Val1, Val2); \
} \
else if (sizeof (__real__ (Val1)) == sizeof (double) \
|| sizeof (__real__ (Val2)) == sizeof(double) \