about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/math.h11
2 files changed, 9 insertions, 3 deletions
diff --git a/math/Makefile b/math/Makefile
index b9a06f0ca0..0601f3ac43 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -23,7 +23,6 @@ include ../Makeconfig
 
 # Installed header files.
 headers		:= math.h bits/mathcalls.h bits/mathinline.h \
-		   bits/nan.h \
 		   fpu_control.h complex.h bits/cmathcalls.h fenv.h \
 		   bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \
 		   bits/math-finite.h bits/math-vector.h \
diff --git a/math/math.h b/math/math.h
index 5f5a498b11..bbc1ab9bfa 100644
--- a/math/math.h
+++ b/math/math.h
@@ -65,8 +65,15 @@ __BEGIN_DECLS
 #  define INFINITY HUGE_VALF
 # endif
 
-/* Get machine-dependent NAN value (returned for some domain errors).  */
-# include <bits/nan.h>
+/* IEEE Not A Number.  */
+# if __GNUC_PREREQ (3, 3)
+#  define NAN (__builtin_nanf (""))
+# else
+/* This will raise an "invalid" exception outside static initializers,
+   but is the best that can be done in ISO C while remaining a
+   constant expression.  */
+#  define NAN (0.0f / 0.0f)
+# endif
 #endif /* __USE_ISOC99 */
 
 #if __GLIBC_USE (IEC_60559_BFP_EXT)