about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-10 22:52:43 +0000
committerRoland McGrath <roland@gnu.org>2002-09-10 22:52:43 +0000
commit2c333cf190aeb3b3d71acf73b6b060c1662dbf71 (patch)
tree7252f56166bbea27727599834c223a50629ee740
parent01210e5583a13464c6d73d2a2d188c10ba430e70 (diff)
downloadglibc-2c333cf190aeb3b3d71acf73b6b060c1662dbf71.tar.gz
glibc-2c333cf190aeb3b3d71acf73b6b060c1662dbf71.tar.xz
glibc-2c333cf190aeb3b3d71acf73b6b060c1662dbf71.zip
* 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.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/powerpc/fpu/s_isnan.c9
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)