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.
---
Tested x86_64-linux. Pushed to trunk.
libstdc++-v3/src/c++20/syncbuf.cc | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/libstdc++-v3/src/c++20/syncbuf.cc
b/libstdc++-v3/src/c++20/syncbuf.cc
index 150ba5e3ce4d..1fe380ec2830 100644
--- a/libstdc++-v3/src/c++20/syncbuf.cc
+++ b/libstdc++-v3/src/c++20/syncbuf.cc
@@ -23,6 +23,7 @@
// <http://www.gnu.org/licenses/>.
#include <syncstream>
+#include <mutex>
#include <bits/functional_hash.h>
#if _GLIBCXX_HAS_GTHREADS
@@ -32,13 +33,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
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
}
--
2.51.1