]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blame - gcc-pthreads-w32.patch
- added pthreads-w32, use POSIX threading model for std::thread/std::mutex support
[packages/crossmingw32-gcc.git] / gcc-pthreads-w32.patch
CommitLineData
46fc5303
JB
1--- gcc-9.5.0/libgcc/gthr-posix.h.orig 2022-05-27 09:21:12.915389144 +0200
2+++ gcc-9.5.0/libgcc/gthr-posix.h 2023-04-21 21:34:01.235216833 +0200
3@@ -372,7 +372,7 @@ __gthread_objc_thread_detach (void (*fun
4
5 if (!(__gthrw_(pthread_create) (&new_thread_handle, &_objc_thread_attribs,
6 (void *) func, arg)))
7- thread_id = (objc_thread_t) new_thread_handle;
8+ thread_id = (objc_thread_t) new_thread_handle.p;
9 else
10 thread_id = NULL;
11
12@@ -469,7 +469,7 @@ static inline objc_thread_t
13 __gthread_objc_thread_id (void)
14 {
15 if (__gthread_active_p ())
16- return (objc_thread_t) __gthrw_(pthread_self) ();
17+ return (objc_thread_t) __gthrw_(pthread_self) ().x;
18 else
19 return (objc_thread_t) 1;
20 }
21--- gcc-9.5.0/libstdc++-v3/include/std/thread.orig 2022-05-27 09:21:13.435391692 +0200
22+++ gcc-9.5.0/libstdc++-v3/include/std/thread 2023-04-21 22:05:23.125021761 +0200
23@@ -279,7 +279,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
24 // can't safely use __gthread_equal on default-constructed values (nor
25 // the non-zero value returned by this_thread::get_id() for
26 // single-threaded programs using GNU libc). Assume EqualityComparable.
27- return __x._M_thread == __y._M_thread;
28+ return __x._M_thread.p == __y._M_thread.p;
29 }
30
31 inline bool
32@@ -291,7 +291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
33 {
34 // Pthreads doesn't define any way to do this, so we just have to
35 // assume native_handle_type is LessThanComparable.
36- return __x._M_thread < __y._M_thread;
37+ return __x._M_thread.p < __y._M_thread.p;
38 }
39
40 inline bool
41@@ -314,7 +314,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
42 {
43 size_t
44 operator()(const thread::id& __id) const noexcept
45- { return std::_Hash_impl::hash(__id._M_thread); }
46+ { return std::_Hash_impl::hash(__id._M_thread.p); }
47 };
48
49 template<class _CharT, class _Traits>
This page took 0.08618 seconds and 4 git commands to generate.