On Feb 12, 2016, at 10:07 AM, Jonathan Wakely <jwak...@redhat.com> wrote:

> On 12/02/16 09:52 -0800, Mike Stump wrote:
>> On Feb 11, 2016, at 3:57 AM, Jonathan Wakely <jwak...@redhat.com> wrote:
>>> 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:16304: "C" header strategy set to c_global
>> 
>> So, I don’t know of a better way to do this, other than just provide the .ii 
>> file.  You can see what it was including, and where it didn’t include what 
>> you wanted.  We can then go from there.  I fear a longer series of 20 
>> questions.  The good news is that this is the _only_ recent failure.
>> 
>> /home/mrs/work1/gcc-obj/./gcc/xg++ -shared-libgcc 
>> -B/home/mrs/work1/gcc-obj/./gcc -nostdinc++ 
>> -L/home/mrs/work1/gcc-obj/machine/libstdc++-v3/src 
>> -L/home/mrs/work1/gcc-obj/machine/libstdc++-v3/src/.libs 
>> -L/home/mrs/work1/gcc-obj/machine/libstdc++-v3/libsupc++/.libs 
>> -B/home/mrs/work1/install/machine/bin/ 
>> -B/home/mrs/work1/install/machine/lib/ -isystem 
>> /home/mrs/work1/install/machine/include -isystem 
>> /home/mrs/work1/install/machine/sys-include 
>> -B/home/mrs/work1/gcc-obj/machine/./libstdc++-v3/src/.libs -D_GLIBCXX_ASSERT 
>> -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -mno-oe 
>> -DLOCALEDIR="." -nostdinc++ 
>> -I/home/mrs/work1/gcc-obj/machine/libstdc++-v3/include/machine 
>> -I/home/mrs/work1/gcc-obj/machine/libstdc++-v3/include 
>> -I/home/mrs/work1/gcc/libstdc++-v3/libsupc++ 
>> -I/home/mrs/work1/gcc/libstdc++-v3/include/backward 
>> -I/home/mrs/work1/gcc/libstdc++-v3/testsuite/util 
>> /home/mrs/work1/gcc/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
>>  -DMAX_ITERATIONS=5 -fno-diagnostics-show-caret -fdiagnostics-color=never 
>> ./libtestc++.a -Wl,--gc-sections 
>> -L/home/mrs/work1/gcc-obj/machine/libstdc++-v3/src/filesystem/.libs -mno-oe 
>> -lm -o ./check_value.exe -E
> 
> Thanks, the preprocessed file did help, because it showed that
> -D__STDCPP_WANT_MATH_SPEC_FUNCS__ was not being used, which is because
> we have this in the test:
> 
> // { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
> ...
> // { dg-options "-DMAX_ITERATIONS=5" { target simulator } }

> Should the dg-options directive for simulators be using
> dg-additional-options instead?

I think that’s a good call.  Testing it out:

Old tests that failed, that have disappeared: (Eeek!)

: special_functions/18_riemann_zeta/check_value.cc (test for excess errors)


Ok?

diff --git 
a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc 
b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
index d6b3171..f84edd8 100644
--- a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
+++ b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
@@ -20,7 +20,7 @@
 //  riemann_zeta
 
 // This can take long on simulators, timing out the test.
-// { dg-options "-DMAX_ITERATIONS=5" { target simulator } }
+// { dg-additional-options "-DMAX_ITERATIONS=5" { target simulator } }
 
 #ifndef MAX_ITERATIONS
 #define MAX_ITERATIONS (sizeof(data001) / 
sizeof(testcase_riemann_zeta<double>))
@@ -109,9 +109,6 @@ data001[55] =
 const double toler001 = 2.5000000000000020e-13;
 //  riemann_zeta
 
-// This can take long on simulators, timing out the test.
-// { dg-options "-DMAX_ITERATIONS=5" { target simulator } }
-
 #ifndef MAX_ITERATIONS
 #define MAX_ITERATIONS (sizeof(data001) / 
sizeof(testcase_riemann_zeta<double>))
 #endif

Reply via email to