diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2017-05-04 14:47:27 -0300 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-05-04 14:47:27 -0300 |
commit | 593bf7189a82b9b2874d41c71cb2109482a9f201 (patch) | |
tree | 6a1b514c390699f658e9b182345c1a03dbe45e14 /sysdeps | |
parent | 4c3992fc459322a7c712700ba3244fcb125163d7 (diff) | |
download | glibc-593bf7189a82b9b2874d41c71cb2109482a9f201.tar.gz glibc-593bf7189a82b9b2874d41c71cb2109482a9f201.tar.xz glibc-593bf7189a82b9b2874d41c71cb2109482a9f201.zip |
ldbl-128: Use mathx_hidden_def inplace of hidden_def
This provides a extra macro expansion before invoking the hidden_def macro. This is necessary to build the ldbl-128 files as float128 correctly. * sysdeps/generic/math_private.h: (mathx_hidden_def): New macro. * sysdeps/ieee754/ldbl-128/s_finitel.c: Replace hidden_def with the above. * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise. * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/math_private.h | 4 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_finitel.c | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_isinfl.c | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_isnanl.c | 2 |
4 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index aba1cb9cbc..4d8a35ff87 100644 --- a/sysdeps/generic/math_private.h +++ b/sysdeps/generic/math_private.h @@ -181,6 +181,10 @@ do { \ } while (0) #endif +/* We need to guarantee an expansion of name when building + ldbl-128 files as another type (e.g _Float128). */ +#define mathx_hidden_def(name) hidden_def(name) + /* Get long double macros from a separate header. */ #include <math_ldbl.h> diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c index feb4590924..7c699688fe 100644 --- a/sysdeps/ieee754/ldbl-128/s_finitel.c +++ b/sysdeps/ieee754/ldbl-128/s_finitel.c @@ -32,5 +32,5 @@ int __finitel(_Float128 x) return (int)((u_int64_t)((hx&0x7fff000000000000LL) -0x7fff000000000000LL)>>63); } -hidden_def (__finitel) +mathx_hidden_def (__finitel) weak_alias (__finitel, finitel) diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c index dce8fc0b5d..a41e8cf44b 100644 --- a/sysdeps/ieee754/ldbl-128/s_isinfl.c +++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c @@ -25,5 +25,5 @@ __isinfl (_Float128 x) lx |= -lx; return ~(lx >> 63) & (hx >> 62); } -hidden_def (__isinfl) +mathx_hidden_def (__isinfl) weak_alias (__isinfl, isinfl) diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c index 1dee642512..80f97fea4c 100644 --- a/sysdeps/ieee754/ldbl-128/s_isnanl.c +++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c @@ -34,5 +34,5 @@ int __isnanl(_Float128 x) hx = 0x7fff000000000000LL - hx; return (int)((u_int64_t)hx>>63); } -hidden_def (__isnanl) +mathx_hidden_def (__isnanl) weak_alias (__isnanl, isnanl) |