66 lines
3.5 KiB
Diff
66 lines
3.5 KiB
Diff
diff --git a/thirdparty/mingw-std-threads/mingw.condition_variable.h b/thirdparty/mingw-std-threads/mingw.condition_variable.h
|
|
index f9e248c154..d099fad2ec 100644
|
|
--- a/thirdparty/mingw-std-threads/mingw.condition_variable.h
|
|
+++ b/thirdparty/mingw-std-threads/mingw.condition_variable.h
|
|
@@ -58,7 +58,7 @@
|
|
|
|
namespace mingw_stdthread
|
|
{
|
|
-#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS)
|
|
+#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__)
|
|
enum class cv_status { no_timeout, timeout };
|
|
#else
|
|
using std::cv_status;
|
|
@@ -547,7 +547,7 @@ namespace std
|
|
// was none. Direct specification (std::), however, would be unaffected.
|
|
// Take the safe option, and include only in the presence of MinGW's win32
|
|
// implementation.
|
|
-#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS)
|
|
+#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__)
|
|
using mingw_stdthread::cv_status;
|
|
using mingw_stdthread::condition_variable;
|
|
using mingw_stdthread::condition_variable_any;
|
|
diff --git a/thirdparty/mingw-std-threads/mingw.mutex.h b/thirdparty/mingw-std-threads/mingw.mutex.h
|
|
index 73698d13cb..1e881e6c7d 100644
|
|
--- a/thirdparty/mingw-std-threads/mingw.mutex.h
|
|
+++ b/thirdparty/mingw-std-threads/mingw.mutex.h
|
|
@@ -480,7 +480,7 @@ namespace std
|
|
// was none. Direct specification (std::), however, would be unaffected.
|
|
// Take the safe option, and include only in the presence of MinGW's win32
|
|
// implementation.
|
|
-#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS)
|
|
+#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__)
|
|
using mingw_stdthread::recursive_mutex;
|
|
using mingw_stdthread::mutex;
|
|
using mingw_stdthread::recursive_timed_mutex;
|
|
diff --git a/thirdparty/mingw-std-threads/mingw.shared_mutex.h b/thirdparty/mingw-std-threads/mingw.shared_mutex.h
|
|
index 5375b0fbd1..ddc46bb826 100644
|
|
--- a/thirdparty/mingw-std-threads/mingw.shared_mutex.h
|
|
+++ b/thirdparty/mingw-std-threads/mingw.shared_mutex.h
|
|
@@ -484,10 +484,10 @@ namespace std
|
|
// was none. Direct specification (std::), however, would be unaffected.
|
|
// Take the safe option, and include only in the presence of MinGW's win32
|
|
// implementation.
|
|
-#if (__cplusplus < 201703L) || (defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS))
|
|
+#if (__cplusplus < 201703L) || (defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__))
|
|
using mingw_stdthread::shared_mutex;
|
|
#endif
|
|
-#if (__cplusplus < 201402L) || (defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS))
|
|
+#if (__cplusplus < 201402L) || (defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__))
|
|
using mingw_stdthread::shared_timed_mutex;
|
|
using mingw_stdthread::shared_lock;
|
|
#elif !defined(MINGW_STDTHREAD_REDUNDANCY_WARNING) // Skip repetition
|
|
diff --git a/thirdparty/mingw-std-threads/mingw.thread.h b/thirdparty/mingw-std-threads/mingw.thread.h
|
|
index 4bcc63e1b1..60d2200db2 100644
|
|
--- a/thirdparty/mingw-std-threads/mingw.thread.h
|
|
+++ b/thirdparty/mingw-std-threads/mingw.thread.h
|
|
@@ -325,7 +325,7 @@ namespace std
|
|
// was none. Direct specification (std::), however, would be unaffected.
|
|
// Take the safe option, and include only in the presence of MinGW's win32
|
|
// implementation.
|
|
-#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS)
|
|
+#if defined(__MINGW32__ ) && !defined(_GLIBCXX_HAS_GTHREADS) && !defined(__clang__)
|
|
using mingw_stdthread::thread;
|
|
// Remove ambiguity immediately, to avoid problems arising from the above.
|
|
//using std::thread;
|