include/math.h broken
Denys Vlasenko
vda.linux at googlemail.com
Sat Sep 5 19:36:56 UTC 2009
include/math.h, line 137:
# if (defined __STDC__ || defined __GNUC__) \
&& (defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
# ifdef __LDBL_COMPAT
...
# endif
# define __MATH_maybe_libm_hidden_proto(x)
# ifndef _Mlong_double_
# define _Mlong_double_ long double
# endif
# define _Mdouble_ _Mlong_double_
# ifdef __STDC__
# define __MATH_PRECNAME(name,r) name##l##r
# else
# define __MATH_PRECNAME(name,r) name/**/l/**/r
# endif
# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
# define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
# include <bits/mathcalls.h>
# undef _Mdouble_
# undef _Mdouble_BEGIN_NAMESPACE
# undef _Mdouble_END_NAMESPACE
# undef __MATH_PRECNAME
# undef __MATH_maybe_libm_hidden_proto
# endif /* __STDC__ || __GNUC__ */
defined __NO_LONG_DOUBLE_MATH
used to be
defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
at line 138.
This change excludes all long double functin defs:
# make ARCH=i386
CC libm/nan.o
libm/nan.c:49: error: 'nanl' undeclared here (not in a function)
libm/nan.c:49: warning: type defaults to 'int' in declaration of 'nanl'
libm/nan.c:50: error: 'nanl' redeclared as different kind of symbol
libm/nan.c:49: error: previous declaration of 'nanl' was here
make: *** [libm/nan.o] Error 1
I assume somebody forgot the !:
!defined __NO_LONG_DOUBLE_MATH
I will add it. If it's wrong, let me know.
--
vda
More information about the uClibc
mailing list