Fix MingW build: define GTEST_OS_WINDOWS if OS is MingW, but disable
authorJulien Lerouge <jlerouge@apple.com>
Thu, 12 Feb 2009 08:02:35 +0000 (08:02 +0000)
committerJulien Lerouge <jlerouge@apple.com>
Thu, 12 Feb 2009 08:02:35 +0000 (08:02 +0000)
exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64367 91177308-0d34-0410-b5e6-96231b3b80d8

utils/unittest/googletest/Makefile
utils/unittest/googletest/gtest.cc

index 801506ee16b37b69f9da692788bc93979d99c721..6e262413cc493dad6d180603d149ebe7b09b9b97 100644 (file)
@@ -18,4 +18,8 @@ BUILD_ARCHIVE = 1
 CPP.Flags += -I$(LLVM_SRC_ROOT)/utils/unittest/googletest/include/
 CPP.Flags += $(NO_MISSING_FIELD_INITIALIZERS) $(NO_VARIADIC_MACROS)
 
+ifeq ($(OS),MingW)
+  CPP.Flags += -DGTEST_OS_WINDOWS=1
+endif
+
 include $(LEVEL)/Makefile.common
index 64dbb84189475e0f8bd695f80b5a8eb048fa005c..e46e90a2c47c4cf18de4ce7f229037f76c74f29c 100644 (file)
@@ -1993,7 +1993,7 @@ void Test::Run() {
   if (!HasSameFixtureClass()) return;
 
   internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
-#ifdef GTEST_OS_WINDOWS
+#if defined(GTEST_OS_WINDOWS) && !defined(__MINGW32__)
   // We are on Windows.
   impl->os_stack_trace_getter()->UponLeavingGTest();
   __try {
@@ -2025,7 +2025,7 @@ void Test::Run() {
     AddExceptionThrownFailure(GetExceptionCode(), "TearDown()");
   }
 
-#else  // We are on Linux or Mac - exceptions are disabled.
+#else  // We are on Linux, Mac or MingW - exceptions are disabled.
   impl->os_stack_trace_getter()->UponLeavingGTest();
   SetUp();
 
@@ -2227,7 +2227,7 @@ void TestInfoImpl::Run() {
   const TimeInMillis start = GetTimeInMillis();
 
   impl->os_stack_trace_getter()->UponLeavingGTest();
-#ifdef GTEST_OS_WINDOWS
+#if defined(GTEST_OS_WINDOWS) && !defined(__MINGW32__)
   // We are on Windows.
   Test* test = NULL;
 
@@ -2240,7 +2240,7 @@ void TestInfoImpl::Run() {
                               "the test fixture's constructor");
     return;
   }
-#else  // We are on Linux or Mac OS - exceptions are disabled.
+#else  // We are on Linux, Mac OS or MingW - exceptions are disabled.
 
   // TODO(wan): If test->Run() throws, test won't be deleted.  This is
   // not a problem now as we don't use exceptions.  If we were to
@@ -3271,7 +3271,7 @@ void UnitTest::RecordPropertyForCurrentTest(const char* key,
 // We don't protect this under mutex_, as we only support calling it
 // from the main thread.
 int UnitTest::Run() {
-#ifdef GTEST_OS_WINDOWS
+#if defined(GTEST_OS_WINDOWS) && !defined(__MINGW32__)
 
 #if !defined(_WIN32_WCE)
   // SetErrorMode doesn't exist on CE.
@@ -3294,7 +3294,7 @@ int UnitTest::Run() {
   }
 
 #else
-  // We are on Linux or Mac OS.  There is no exception of any kind.
+  // We are on Linux, Mac OS or MingW.  There is no exception of any kind.
 
   return impl_->RunAllTests();
 #endif  // GTEST_OS_WINDOWS