diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/s_isnan.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 2201a25b5a..acc4d737fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2002-09-10 Roland McGrath <roland@redhat.com> + * sysdeps/powerpc/fpu/s_isnan.c: Do macro hackery on __GI___isnanf as + well so we don't get it declared by include/math.h's hidden_proto. + Then do hidden_proto for __isnanf locally so hidden_def works right. + * posix/bug-regex5.c (main): Use `union locale_data_value' rather than a cast to turn nl_langinfo return value into an integer. diff --git a/sysdeps/powerpc/fpu/s_isnan.c b/sysdeps/powerpc/fpu/s_isnan.c index 0ad1c6241e..38ec821cc3 100644 --- a/sysdeps/powerpc/fpu/s_isnan.c +++ b/sysdeps/powerpc/fpu/s_isnan.c @@ -20,12 +20,20 @@ /* Ugly kludge to avoid declarations. */ #define __isnanf __Xisnanf #define isnanf Xisnanf +#define __GI___isnanf __GI___Xisnanf #include "math.h" #include <fenv_libc.h> #undef __isnanf #undef isnanf +#undef __GI___isnanf + + +/* The hidden_proto in include/math.h was obscured by the macro hackery. */ +__typeof (__isnan) __isnanf; +hidden_proto (__isnanf) + int __isnan (x) @@ -42,6 +50,7 @@ __isnan (x) hidden_def (__isnan) weak_alias (__isnan, isnan) + /* It turns out that the 'double' version will also always work for single-precision. */ strong_alias (__isnan, __isnanf) |