gnu /
gcc /
f526b9c9b8c19386a929e8ba121577d10a3774da re PR bootstrap/17325 (mingw bootstrap fails at libstdc++-v3/include/bits/concurrence.h)
PR bootstrap/17325
Backport from mainline
2004-06-23 Wu Yongwei <adah@sh163.net>
* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
(__gthr_i486_lock_cmp_xchg): New inline assembly function.
(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
suitable function for interlocked compare-and-exchange.
(__gthread_mutex_trylock): Use
__GTHR_W32_InterlockedCompareExchange.
(__gthread_mutex_init_function, __gthread_mutex_lock,
__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
initial counter value to work correctly under Windows 95.
* config/i386/gthr-win32.c: Adjust include order.
Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
gthr-win32.h.
(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
to match inline versions in gthr-win32.h.
2004-04-27 Wu Yongwei <adah@sh163.net>
* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
(__gthread_mutex_init_function): Replace CreateMutex with
initialization of custom mutex using CreateSemaphore.
(__gthread_mutex_lock): Use InterlockedIncrement.
(__gthread_mutex_trylock): Use InterlockedCompareExchange.
(__gthread_mutex_unlock): Use InterlockedDecrement and
ReleaseSemaphore to unlock
* config/i386/gthr-win32.c (__gthread_mutex_init_function,
__gthread_mutex_lock, __gthread_mutex_trylock,
__gthread_mutex_unlock): Adjust to match inline versions in
gthr-win32.h.
From-SVN: r87111
3 files changed