svn commit: trunk/uClibc: include libm

vda at uclibc.org vda at uclibc.org
Sat Feb 14 03:26:59 UTC 2009


Author: vda
Date: 2009-02-14 03:26:57 +0000 (Sat, 14 Feb 2009)
New Revision: 25329

Log:
math.h: fix libm_hidden_proto leak into sanitized headers
libm/s_nextafterf.c: use /* */ comments



Modified:
   trunk/uClibc/include/math.h
   trunk/uClibc/libm/s_nextafterf.c


Changeset:
Modified: trunk/uClibc/include/math.h
===================================================================
--- trunk/uClibc/include/math.h	2009-02-14 01:36:11 UTC (rev 25328)
+++ trunk/uClibc/include/math.h	2009-02-14 03:26:57 UTC (rev 25329)
@@ -46,9 +46,6 @@
 /* Get general and ISO C99 specific information.  */
 #include <bits/mathdef.h>
 
-#if !(defined _LIBC && (defined NOT_IN_libc && defined IS_IN_libm))
-# define libm_hidden_proto(name, attrs...)
-#endif
 
 /* The file <bits/mathcalls.h> contains the prototypes for all the
    actual math functions.  These macros are used for those prototypes,
@@ -59,13 +56,15 @@
   __MATHDECL (_Mdouble_,function,suffix, args)
 #define __MATHDECL(type, function,suffix, args) \
   __MATHDECL_1(type, function,suffix, args);
+
 #define __MATHCALLX(function,suffix, args, attrib)	\
   __MATHDECLX (_Mdouble_,function,suffix, args, attrib)
+#define __MATHDECL_1(type, function,suffix, args) \
+  extern type __MATH_PRECNAME(function,suffix) args __THROW
 #define __MATHDECLX(type, function,suffix, args, attrib) \
   __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
   __MATHDECLI_MAINVARIANT(function)
-#define __MATHDECL_1(type, function,suffix, args) \
-  extern type __MATH_PRECNAME(function,suffix) args __THROW
+
 /* Decls which are also used internally in libm.
    Only the main variant is used internally, no need to try to avoid relocs
    for the {l,f} variants.  */
@@ -76,16 +75,24 @@
   __MATHDECLI_MAINVARIANT(function)
 /* Private helpers for purely macro impls below.
    Only make __foo{,f,l} visible but not (the macro-only) foo.  */
-#define __MATHDECL_PRIV(type, function,suffix, args, attrib) \
-  __MATHDECL_1(type, __CONCAT(__,function),suffix, args) \
-						__attribute__ (attrib); \
+#if defined _LIBC
+# define __MATHDECL_PRIV(type, function,suffix, args, attrib) \
+  __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib); \
   libm_hidden_proto(__MATH_PRECNAME(__##function,suffix))
+#else
+# define __MATHDECL_PRIV(type, function,suffix, args, attrib) \
+  __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib);
+#endif
 
-#define __MATHDECLI_MAINVARIANT libm_hidden_proto
-#define _Mdouble_		double
-#define __MATH_PRECNAME(name,r)	__CONCAT(name,r)
-# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD
-# define _Mdouble_END_NAMESPACE   __END_NAMESPACE_STD
+#if defined _LIBC
+# define __MATHDECLI_MAINVARIANT(x) libm_hidden_proto(x)
+#else
+# define __MATHDECLI_MAINVARIANT(x)
+#endif
+#define _Mdouble_		 double
+#define __MATH_PRECNAME(name,r)  __CONCAT(name,r)
+#define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD
+#define _Mdouble_END_NAMESPACE   __END_NAMESPACE_STD
 #include <bits/mathcalls.h>
 #undef	_Mdouble_
 #undef _Mdouble_BEGIN_NAMESPACE
@@ -94,9 +101,9 @@
 #undef __MATHDECLI_MAINVARIANT
 #define __MATHDECLI_MAINVARIANT(x)
 
+
 #if defined __USE_MISC || defined __USE_ISOC99
 
-
 /* Include the file of declarations again, this time using `float'
    instead of `double' and appending f to each function name.  */
 
@@ -160,8 +167,8 @@
 #  define _Mdouble_END_NAMESPACE   __END_NAMESPACE_C99
 #  include <bits/mathcalls.h>
 #  undef _Mdouble_
-# undef _Mdouble_BEGIN_NAMESPACE
-# undef _Mdouble_END_NAMESPACE
+#  undef _Mdouble_BEGIN_NAMESPACE
+#  undef _Mdouble_END_NAMESPACE
 #  undef __MATH_PRECNAME
 
 # endif /* __STDC__ || __GNUC__ */

Modified: trunk/uClibc/libm/s_nextafterf.c
===================================================================
--- trunk/uClibc/libm/s_nextafterf.c	2009-02-14 01:36:11 UTC (rev 25328)
+++ trunk/uClibc/libm/s_nextafterf.c	2009-02-14 03:26:57 UTC (rev 25329)
@@ -33,12 +33,12 @@
 		return y;
 
 	if (ix == 0) { /* x == 0? */
-// glibc 2.4 does not seem to set underflow?
-//		float u;
+/* glibc 2.4 does not seem to set underflow? */
+/*		float u; */
 		/* return +-minsubnormal */
 		SET_FLOAT_WORD(x, (hy & 0x80000000) | 1);
-//		u = x * x; /* raise underflow flag */
-//		math_force_eval(u);
+/*		u = x * x;     raise underflow flag */
+/*		math_force_eval(u); */
 		return x;
 	}
 



More information about the uClibc-cvs mailing list