libstdc++: Add "futex" and "gthreads" effective-target keywords
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Nov 2020 14:13:32 +0000 (14:13 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 26 Nov 2020 16:15:52 +0000 (16:15 +0000)
commit10ee46adf44ae731fc4f9e9fdc25ad60c9d43a9c
tree099e4a08c5c4d20a446f9beb44d5a1e8a84e98a5
parent294e72e9acbd0ff15ef5b18895de62cc173464ca
libstdc++: Add "futex" and "gthreads" effective-target keywords

This adds a new "futex" effective-target keyword that can be used to
selectively enable/disable tests based on _GLIBCXX_HAVE_LINUX_FUTEX,
instead of checking for that macro in the code.

It also adds "gthreads" as another one, to make the result of the
dg-require-gthreads directive usable in target selectors.

With these new keywords two tests that are currently only run for linux
can also be run for targets using gthr-single.h (e.g. AIX single-thread
multilib, and targets without a gthreads implementation).

libstdc++-v3/ChangeLog:

* testsuite/18_support/96817.cc: Use new effective-target
keywords to select supported targets more effectively.
* testsuite/30_threads/call_once/66146.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_effective_target_futex):
Define new proc.
(check_effective_target_gthreads): Define new proc to replace
dg-require-gthreads.
libstdc++-v3/testsuite/18_support/96817.cc
libstdc++-v3/testsuite/30_threads/call_once/66146.cc
libstdc++-v3/testsuite/lib/libstdc++.exp