https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108225
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |WONTFIX
Status|WAITING |RESOLVED
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to cqwrteur from comment #3)
> libstdc++ completely ignores __GTHREAD_HAS_COND macro which cause build
> failure for gdb
If GDB requires <mutex> then it requires working C++11 thread support, which
has never worked for the win32 thread model with -D_WIN32_WINNT=0x0500.
With GCC 12, gthr-win32.h simply doesn't support std::mutex, period.
With GCC 13 it supports it for modern Windows versions:
/* Condition variables are supported on Vista and Server 2008 or later. */
#if _WIN32_WINNT >= 0x0600
#define __GTHREAD_HAS_COND 1
#define __GTHREADS_CXX0X 1
#endif
For older Windows versions, the win32 thread model doesn't support std::mutex
etc.
There is no C++11 threading support for Win95 using --enable-threads=win32. If
you don't like it, either don't compile for Win95 or use a different thread
model.
Ranting and raving that unsupported things don't work is a waste of time.