[v3, testsuite] Introduce dg-add-options net_ts

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Wed Oct 17 09:09:00 GMT 2018


Hi Jonathan,

>>Btw., one may want to do similarly for the Filesystem TS tests,
>>introducing dg-add-options fs_ts (or filesystem_ts) instead of repeating
>>dg-options "-DUSE_FILESYSTEM_TS -lstdc++fs" over and over again.
>
> I tried to add this:
>
> diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp
> index f73ce06..fae0b0d 100644
> --- a/libstdc++-v3/testsuite/lib/dg-options.exp
> +++ b/libstdc++-v3/testsuite/lib/dg-options.exp
> @@ -254,6 +254,9 @@ proc add_options_for_net_ts { flags } {
>     if { [istarget *-*-solaris2*] } {
>        return "$flags -lsocket -lnsl"
>     }
> +    if { [istarget *-*-aix*] } {
> +       return "$flags -pthread"
> +    }
>     return $flags
> }
>
> But it doesn't work. It seems to be ignored, as the test log shows:
>
> extra_tool_flags are:
>  -Wl,-bmaxdata:0x20000000
>
> That suggests I need to add:
>
> { dg-additional-options "-pthread" { target *-*-aix* } }
>
> Which is a shame, given that we have your new net_ts that should work.

indeed.  After some investigation, it seems libstd++.exp
(libstdc++_init) is misusing DEFAULT_CFLAGS here: the third arg to
dg-runtest ($DEFAULT_CXXFLAGS $PCH_CXXFLAGS in
libstdc++.dg/conformance.exp) is documented like this in DejaGnu's
dg.exp:

# DEFAULT_EXTRA_OPTIONS is a set of options to pass if the testcase
# doesn't specify any (with dg-option).

The two settings of DEFAULT_CXXFLAGS in libstdc++.exp don't seem to fall
in that category at all, and most likely don't need overriding in
individual testcases.  Unfortunately, their semantics/need isn't
documented in the file and I didn't try to dig that up.

However, the proper way to handle this seems to use ALWAYS_CXXFLAGS
instead, appending to it along the lines of what libitm.exp
(libitm_init) does for ALWAYS_CFLAGS for a couple of targets.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Libstdc++ mailing list