[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pthread-h: Fix compilation error on mingw with --enable-threads=windows
From: |
Bruno Haible |
Subject: |
pthread-h: Fix compilation error on mingw with --enable-threads=windows |
Date: |
Mon, 05 Sep 2022 21:55:01 +0200 |
Compiling a gnulib testdir on mingw, with --enable-threads=windows, I get a
compilation error (attached).
This patch fixes it.
2022-09-05 Bruno Haible <bruno@clisp.org>
pthread-h: Fix compilation error on mingw with --enable-threads=windows.
* lib/pthread.in.h: In C++ mode, if mingw's <pthread.h> has not been
used, import many pthread_* symbols from the GNULIB_NAMESPACE into the
global namespace.
diff --git a/lib/pthread.in.h b/lib/pthread.in.h
index 5a658db9ab..cf9ca3a4a5 100644
--- a/lib/pthread.in.h
+++ b/lib/pthread.in.h
@@ -1968,6 +1968,35 @@ _GL_WARN_ON_USE (pthread_spin_destroy,
"pthread_spin_destroy is not portable - "
#endif
+#if defined __cplusplus && defined GNULIB_NAMESPACE && !@HAVE_PTHREAD_H@ &&
defined __MINGW32__
+/* Provide the symbols required by mingw's <bits/gthr-default.h>. */
+using GNULIB_NAMESPACE::pthread_create;
+using GNULIB_NAMESPACE::pthread_self;
+using GNULIB_NAMESPACE::pthread_equal;
+using GNULIB_NAMESPACE::pthread_detach;
+using GNULIB_NAMESPACE::pthread_join;
+using GNULIB_NAMESPACE::pthread_once;
+using GNULIB_NAMESPACE::pthread_mutex_init;
+using GNULIB_NAMESPACE::pthread_mutexattr_init;
+using GNULIB_NAMESPACE::pthread_mutexattr_settype;
+using GNULIB_NAMESPACE::pthread_mutexattr_destroy;
+using GNULIB_NAMESPACE::pthread_mutex_lock;
+using GNULIB_NAMESPACE::pthread_mutex_trylock;
+using GNULIB_NAMESPACE::pthread_mutex_timedlock;
+using GNULIB_NAMESPACE::pthread_mutex_unlock;
+using GNULIB_NAMESPACE::pthread_mutex_destroy;
+using GNULIB_NAMESPACE::pthread_cond_wait;
+using GNULIB_NAMESPACE::pthread_cond_timedwait;
+using GNULIB_NAMESPACE::pthread_cond_signal;
+using GNULIB_NAMESPACE::pthread_cond_broadcast;
+using GNULIB_NAMESPACE::pthread_cond_destroy;
+using GNULIB_NAMESPACE::pthread_key_create;
+using GNULIB_NAMESPACE::pthread_setspecific;
+using GNULIB_NAMESPACE::pthread_getspecific;
+using GNULIB_NAMESPACE::pthread_key_delete;
+#endif
+
+
#endif /* _@GUARD_PREFIX@_PTHREAD_H_ */
#endif /* _@GUARD_PREFIX@_PTHREAD_H_ */
#endif
mingw-c++-error.log
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- pthread-h: Fix compilation error on mingw with --enable-threads=windows,
Bruno Haible <=