Remove __nan{f,,l} macros
authorPaul E. Murphy <murphyp@linux.vnet.ibm.com>
Mon, 12 Sep 2016 22:11:45 +0000 (17:11 -0500)
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>
Tue, 20 Sep 2016 19:37:41 +0000 (14:37 -0500)
Use the GCC builtin instead.  With the exception of the
files built from a template, they are unused.  This
is preparation for making the s_nanF objects generated.

ChangeLog
math/s_nan.c
math/s_nanf.c
math/s_nanl.c
sysdeps/generic/math-type-macros.h
sysdeps/generic/math_private.h

index d68dfed..8423f60 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2016-09-20  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 
+       * math/s_nanf.c: Remove __nanf undef.
+       * math/s_nan.c: Remove __nan undef.
+       * math/s_nanl.c: Remove __nanl undef.
+
+       * sysdeps/generic/math_private.h (__nan): Remove macro
+       override.
+       (__nanf): Likewise.
+       (__nanl): Likewise.
+
+2016-09-20  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
+
        * math/Makefile (gen-all-calls): New variable.
        (generated): Replace gen-libm-calls with gen-all-calls.
        (gen-libm-templates.stmp): Likewise.  Also, ensure
index d9af775..03e95f5 100644 (file)
@@ -24,7 +24,6 @@
 #include <ieee754.h>
 
 
-#undef __nan
 double
 __nan (const char *tagp)
 {
index 0dd6778..3046720 100644 (file)
@@ -24,7 +24,6 @@
 #include <ieee754.h>
 
 
-#undef __nanf
 float
 __nanf (const char *tagp)
 {
index e6149bc..4b7b3d5 100644 (file)
@@ -24,7 +24,6 @@
 #include <ieee754.h>
 
 
-#undef __nanl
 long double
 __nanl (const char *tagp)
 {
index bd9e25a..78b883c 100644 (file)
@@ -74,7 +74,7 @@
 #define __M_CONCAT(a,b) a ## b
 #define __M_CONCATX(a,b) __M_CONCAT(a,b)
 
-#define M_NAN M_SUF (__nan) ("")
+#define M_NAN M_SUF (__builtin_nan) ("")
 #define M_MAX_EXP __M_CONCATX (M_PFX, _MAX_EXP)
 #define M_MIN __M_CONCATX (M_PFX, _MIN)
 #define M_MAX __M_CONCATX (M_PFX, _MAX)
index 24adcfb..28e5df0 100644 (file)
@@ -775,11 +775,4 @@ libc_feresetround_noex_ctx (struct rm_ctx *ctx)
   SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround_53bit,          \
                             libc_feresetround_53bit)
 
-#define __nan(str) \
-  (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str))
-#define __nanf(str) \
-  (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str))
-#define __nanl(str) \
-  (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str))
-
 #endif /* _MATH_PRIVATE_H_ */