]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - include/math.h
Further harden glibc malloc metadata against 1-byte overflows.
[thirdparty/glibc.git] / include / math.h
index 50094c18167a4f6515d77a8683d5a63af65b09cb..a4f556263a40aa28efe6f0d5e2ece17a6402efe6 100644 (file)
@@ -2,39 +2,41 @@
 
 #include <math/math.h>
 
+#ifndef _ISOMAC
 /* Now define the internal interfaces.  */
 extern int __matherr (struct exception *__exc);
 
-extern int __finite_internal (double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-extern int __finitef_internal (float __value)
-     __attribute__ ((__const__)) attribute_hidden;
-extern int __finitel_internal (long double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-
-extern int __isinf_internal (double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-extern int __isinfl_internal (long double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-extern int __isnan_internal (double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-extern int __isnanl_internal (long double __value)
-     __attribute__ ((__const__)) attribute_hidden;
-
-#if !defined NOT_IN_libc || defined IS_IN_libm
-# undef isfinite
-# ifdef __NO_LONG_DOUBLE_MATH
-#  define isfinite(x) \
-     (sizeof (x) == (sizeof (float)                                          \
-                    ? INTUSE(__finitef) (x) : INTUSE(__finite) (x)))
-# else
-#  define isfinite(x) \
-     (sizeof (x) == sizeof (float)                                           \
-      ? INTUSE(__finitef) (x)                                                \
-      : sizeof (x) == sizeof (double)                                        \
-      ? INTUSE(__finite) (x) : INTUSE(__finitel) (x))
+extern int __signgam;
+
+# if IS_IN (libc) || IS_IN (libm)
+hidden_proto (__finite)
+hidden_proto (__isinf)
+hidden_proto (__isnan)
+hidden_proto (__finitef)
+hidden_proto (__isinff)
+hidden_proto (__isnanf)
+
+#  ifndef __NO_LONG_DOUBLE_MATH
+hidden_proto (__finitel)
+hidden_proto (__isinfl)
+hidden_proto (__isnanl)
+#  endif
 # endif
-#endif
 
+libm_hidden_proto (__fpclassify)
+libm_hidden_proto (__fpclassifyf)
+libm_hidden_proto (__issignaling)
+libm_hidden_proto (__issignalingf)
+libm_hidden_proto (__exp)
+libm_hidden_proto (__expf)
+libm_hidden_proto (roundeven)
 
+# ifndef __NO_LONG_DOUBLE_MATH
+libm_hidden_proto (__fpclassifyl)
+libm_hidden_proto (__issignalingl)
+libm_hidden_proto (__expl)
+libm_hidden_proto (__expm1l)
+# endif
+
+#endif
 #endif