[Bug libstdc++/94069] [9 Regression] <shared_mutex> doesn't compile unless PTHREAD_RWLOCK_INITIALIZER is defined
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 6 13:11:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94069
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:
https://gcc.gnu.org/g:39bdebf3725d7681e5e9ba06e3862f8facef3572
commit r9-8353-g39bdebf3725d7681e5e9ba06e3862f8facef3572
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Mar 6 12:52:51 2020 +0000
libstdc++: Fix call to __glibcxx_rwlock_init (PR 94069)
When the target doesn't define PTHREAD_RWLOCK_INITIALIZER we use a
wrapper around pthread_wrlock_init, but the wrapper only takes one
argument and we try to call it with two.
This went unnnoticed on most targets because they do define the
PTHREAD_RWLOCK_INITIALIZER macro, but it causes a bootstrap failure on
darwin8.
Backport from mainline
2020-03-06 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/94069
* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
(__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
second argument to __glibcxx_rwlock_init.
* testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
More information about the Gcc-bugs
mailing list