TR29124 C++ Special Maths - Make <math.h> pull functions into global namespace.

Jonathan Wakely jwakely@redhat.com
Thu Feb 11 11:57:00 GMT 2016


On 10/02/16 22:36 -0800, Mike Stump wrote:
>I’m seeing:
>
>/home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc: In function 'void test(const testcase_riemann_zeta<Tp> (&)[Num], Tp)':
>/home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc:285:15: error: 'riemann_zeta' is not a member of 'std'
>compiler exited with status 1
>output is:
>/home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc: In function 'void test(const testcase_riemann_zeta<Tp> (&)[Num], Tp)':
>/home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc:285:15: error: 'riemann_zeta' is not a member of 'std'
>
>FAIL: special_functions/18_riemann_zeta/check_value.cc (test for excess errors)
>Excess errors:
>/home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc:285:15: error: 'riemann_zeta' is not a member of 'std'
>
>UNRESOLVED: special_functions/18_riemann_zeta/check_value.cc compilation failed to produce executable
>extra_tool_flags are:
> -D__STDCPP_WANT_MATH_SPEC_FUNCS__
>
>on a recent trunk.  This is a typical newlib port.  Not sure if this is a real bug or not, but thought I’d forward it long.

This confused me at first, but I think what must be happening is that
your newlib port doesn't use c_model=c_global, so it uses a <cmath>
header that doesn't #include <bits/spec_fun.h>.

What does your $target/libstdc++-v3/config.log show instead of
c_global here?

configure:16391: "C" header strategy set to c_global

(Alternatively, just look at where the
$target/libstdc++-v3/include/cmath symlink points).




More information about the Libstdc++ mailing list