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.

Reply via email to