]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Adjust effective-target requirements for <barrier> and <semaphore>
authorJonathan Wakely <jwakely@redhat.com>
Wed, 4 Jun 2025 19:09:21 +0000 (20:09 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 6 Jun 2025 16:29:28 +0000 (17:29 +0100)
These features depend on __cpp_lib_atomic_wait which is not available
for freestanding, and is available when either gthreads is supported, or
the target is linux (for futex support).

libstdc++-v3/ChangeLog:

* testsuite/30_threads/barrier/1.cc: Require hosted. Only
require gthreads for non-linux targets.
* testsuite/30_threads/barrier/2.cc: Likewise.
* testsuite/30_threads/semaphore/1.cc: Likewise.
* testsuite/30_threads/semaphore/2.cc: Likewise.
* testsuite/30_threads/semaphore/cons.cc: Likewise.
* testsuite/30_threads/semaphore/least_max_value_neg.cc:
Likewise.
* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.

Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
libstdc++-v3/testsuite/30_threads/barrier/1.cc
libstdc++-v3/testsuite/30_threads/barrier/2.cc
libstdc++-v3/testsuite/30_threads/semaphore/1.cc
libstdc++-v3/testsuite/30_threads/semaphore/2.cc
libstdc++-v3/testsuite/30_threads/semaphore/cons.cc
libstdc++-v3/testsuite/30_threads/semaphore/least_max_value_neg.cc
libstdc++-v3/testsuite/30_threads/semaphore/try_acquire.cc

index eff8ef3a174b151ca966fbd752a1cca121d537ee..01c55d96cd20b2a8e7a3a69c803998e3f7cc07dd 100644 (file)
@@ -16,7 +16,8 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++20 } }
-// { dg-require-effective-target gthreads }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
+// { dg-require-effective-target hosted }
 // { dg-add-options no_pch }
 
 #include <barrier>
index e0188b3fd8eae9f76c39abce220249cb11c66534..728030babbd13a1862046335dafb246ff934aeb9 100644 (file)
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++20 } }
-// { dg-require-effective-target gthreads }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
 // { dg-require-effective-target hosted }
 // { dg-add-options no_pch }
 
index ac9f97b816fe2c7077ce2394ecaeb3f90438ad92..cc6befcc1a50a790881c8a9921645137d6915faf 100644 (file)
@@ -16,6 +16,8 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++20 } }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
+// { dg-require-effective-target hosted }
 // { dg-add-options no_pch }
 
 #include <semaphore>
index 251e96adae6849fa6461df33446e37f8f383b921..bff747c0aa33d91e17c6818f76fc28e4ab82e433 100644 (file)
@@ -16,6 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++20 } }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
 // { dg-require-effective-target hosted }
 // { dg-add-options no_pch }
 
index 920f7423332b9628bab2e1200caf74b87d6e470a..790ff2eab557bd2b5a46dd92d12691ab8445b9cc 100644 (file)
@@ -1,4 +1,6 @@
 // { dg-do compile { target c++20 } }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
+// { dg-require-effective-target hosted }
 
 #include <semaphore>
 
index 1498d38cb93af7ba2b2c42b882927aca0ccd7744..e2680b12e5aec5bc95ae8bbcf12db23d68732ceb 100644 (file)
@@ -16,8 +16,8 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++20 } }
-// { dg-require-effective-target pthread }
-// { dg-require-gthreads "" }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
+// { dg-require-effective-target hosted }
 
 #include <semaphore>
 
index d709126cf342be3f388cd97db47e957826bf2db8..ea7859b22c6c43994224074a62e0d3ec234562b9 100644 (file)
@@ -17,7 +17,8 @@
 
 // { dg-do run { target c++20 } }
 // { dg-additional-options "-pthread" { target pthread } }
-// { dg-require-gthreads "" }
+// { dg-require-effective-target gthreads { target { ! *-*-linux* } } }
+// { dg-require-effective-target hosted }
 // { dg-add-options libatomic }
 
 #include <semaphore>