[Bug libstdc++/108836] std::mutex disappears in single-threaded libstdc++ builds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108836 --- Comment #4 from Peter Dimov --- A compromise between no mutex at all, and a mutex that is silently a no-op, could be a no-op mutex with [[deprecated]] members, although the atomic_flag is probably better.
[Bug libstdc++/108836] std::mutex disappears in single-threaded libstdc++ builds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108836 --- Comment #3 from Jonathan Wakely --- Whatever we do it won't help them, as they're using libstdc++ headers from gcc 6.3 It's possible to have a gcc build that has limited support for threading, but not enough to support C++11 std::mutex, std::thread etc and in such cases it would be odd to have a no-op mutex. Another option might be to provide a very dumb mutex using atomic_flag for a spin lock.
[Bug libstdc++/108836] std::mutex disappears in single-threaded libstdc++ builds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108836 --- Comment #2 from Peter Dimov --- That's good to hear, but I don't think the issue is specific to mingw32. The other report, https://github.com/boostorg/system/issues/92, was about "B PLC", whatever this means. :-)
[Bug libstdc++/108836] std::mutex disappears in single-threaded libstdc++ builds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108836 --- Comment #1 from Andrew Pinski --- mingw32 is no longer defaults to a single threaded and std::mutex is supported there on the trunk for GCC 13