libstdc++: Fix __thread_relax for non-gthreads non-x86 targets
authorJonathan Wakely <jwakely@redhat.com>
Fri, 19 Feb 2021 09:54:04 +0000 (09:54 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 19 Feb 2021 09:56:36 +0000 (09:56 +0000)
commit9d449189ee4304ce4f250351c8aa393324421eef
tree9d393154e43baa493940fe236173c29b24497e78
parentf600f271b10d0214b111f2aa52a3d5740477e139
libstdc++: Fix __thread_relax for non-gthreads non-x86 targets

My recent change to the preprocessor conditions in __thread_relax() was
supposed to also change the __gthread_yield() call to __thread_yield(),
which has the right preprocessor checks. Instead I just removed the
check for _GLIBCXX_USE_SCHED_YIELD which means the __gthread_yield()
call will be ill-formed for non-gthreads targets, and targets without
sched_yield(). This fixes it properly.

libstdc++-v3/ChangeLog:

* include/bits/atomic_wait.h (__thread_relax()): Call
__thread_yield() not __gthread_yield().
libstdc++-v3/include/bits/atomic_wait.h