Made gtest work on MINGW with solution from https://github.com/google/googletest/issues/606

This commit is contained in:
Miodrag Milanovic 2018-06-12 08:06:27 +02:00
parent 102e10f2dd
commit 5a5dcc52fd

View File

@ -604,7 +604,7 @@ struct _RTL_CRITICAL_SECTION;
|| GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NACL) || GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NACL)
#endif // GTEST_HAS_PTHREAD #endif // GTEST_HAS_PTHREAD
#if GTEST_HAS_PTHREAD #if GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW
// gtest-port.h guarantees to #include <pthread.h> when GTEST_HAS_PTHREAD is // gtest-port.h guarantees to #include <pthread.h> when GTEST_HAS_PTHREAD is
// true. // true.
# include <pthread.h> // NOLINT # include <pthread.h> // NOLINT
@ -1441,7 +1441,7 @@ void SetInjectableArgvs(const ::std::vector<testing::internal::string>*
// Defines synchronization primitives. // Defines synchronization primitives.
#if GTEST_IS_THREADSAFE #if GTEST_IS_THREADSAFE
# if GTEST_HAS_PTHREAD # if GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW
// Sleeps for (roughly) n milliseconds. This function is only for testing // Sleeps for (roughly) n milliseconds. This function is only for testing
// Google Test's own constructs. Don't use it in user tests, either // Google Test's own constructs. Don't use it in user tests, either
// directly or indirectly. // directly or indirectly.
@ -1458,7 +1458,7 @@ inline void SleepMilliseconds(int n) {
// Notification has already been imported into the namespace. // Notification has already been imported into the namespace.
// Nothing to do here. // Nothing to do here.
# elif GTEST_HAS_PTHREAD # elif GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW
// Allows a controller thread to pause execution of newly created // Allows a controller thread to pause execution of newly created
// threads until notified. Instances of this class must be created // threads until notified. Instances of this class must be created
// and destroyed in the controller thread. // and destroyed in the controller thread.
@ -1918,7 +1918,7 @@ class ThreadLocal : public ThreadLocalBase {
GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal); GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal);
}; };
# elif GTEST_HAS_PTHREAD # elif GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW
// MutexBase and Mutex implement mutex on pthreads-based platforms. // MutexBase and Mutex implement mutex on pthreads-based platforms.
class MutexBase { class MutexBase {