For most configurations bits/std_mutex.h would already be included by
<syncstream>, but not if configured with _GLIBCXX_USE_CXX11_ABI=0 as the
default, because syncbuf is disabled in that case.
libstdc++-v3/ChangeLog:
PR libstdc++/122698
* src/c++20/syncbuf.cc (__syncbuf_get_mutex): Include <mutex>.
Fix indentation of function body.
// <http://www.gnu.org/licenses/>.
#include <syncstream>
+#include <mutex>
#include <bits/functional_hash.h>
#if _GLIBCXX_HAS_GTHREADS
mutex&
__syncbuf_get_mutex(void* __t)
- {
- const unsigned char __mask = 0xf;
- static mutex __m[__mask + 1];
+{
+ const unsigned char __mask = 0xf;
+ static mutex __m[__mask + 1];
- auto __key = _Hash_impl::hash(__t) & __mask;
- return __m[__key];
- }
+ auto __key = _Hash_impl::hash(__t) & __mask;
+ return __m[__key];
+}
_GLIBCXX_END_NAMESPACE_VERSION
}