diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-02-07 18:20:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-02-07 18:20:15 +0000 |
commit | 0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750 (patch) | |
tree | d45604d9583773fe84d5a2dd31eb562f13c02268 /math/tgmath.h | |
parent | 5d96a5f68915ac7edbe54b1ebfaf9c7c500fdd1c (diff) | |
download | glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.zip glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.tar.gz glibc-0d3fee40893b9a1f52a3c1e4ec3b27f5f5053750.tar.bz2 |
Only add l suffixes if __NO_LONG_DOUBLE_MATH is not defined.
Diffstat (limited to 'math/tgmath.h')
-rw-r--r-- | math/tgmath.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/math/tgmath.h b/math/tgmath.h index 286ea56..0c02aaa 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) \ |