TR1 Math Special Functions
Paolo Carlini
pcarlini@suse.de
Sun Mar 4 10:50:00 GMT 2007
Hi,
> I just did a build/test cycle on x86/linux (FC6). This is what I get:
>
> XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test
> for excess errors)
> FAIL:
> tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc
> execution test
> FAIL:
> tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc
> execution test
> FAIL:
> tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
> execution test
> FAIL:
> tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc
> execution test
> FAIL:
> tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
> execution test
I did built/test on powerpc-darwin, x86_64-linux multilib and
ia64-linux. The worst case is that of powerpc-darwin-8.8.0, where we have:
FAIL:
tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
execution test
FAIL:
tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
execution test
Since apparently Ed has access also to this kind of target, I would ask
him to check a bit at least the additional fails. Otherwise we are going
to xfail way too many tests :(
Moreover, in order to be safe wrt bootstrap fails, I also built
--disable-c99 (as already mentioned) and an unexpected issue surfaced:
In file included from
/home/paolo/Gcc/svn-dirs/trunk/libstdc++-v3/include/precompiled/stdtr1c++.h:57:
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/special_function_util.h:
In function 'bool std::tr1::__detail::__isnan(_Tp) [with _Tp = unsigned
int]':
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/poly_laguerre.tcc:253:
instantiated from '_Tp std::tr1::__detail::__poly_laguerre(unsigned int,
_Tpa, _Tp) [with _Tpa = unsigned int, _Tp = float]'
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/cmath:971:
instantiated from here
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/special_function_util.h:130:
error: non-floating-point argument to function '__builtin_isnan'
make[2]: *** [x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch] Error 1
I could quickly hack-up something (like removing completely the isnan
check), but I'd like to ask Ed to double check the whole
__poly_laguerre, because, as far as I can see, we are always calling it
with an unsigned int first template argument (_Tpa).
Thanks,
Paolo.
More information about the Libstdc++
mailing list