Commit 4ba0fad6 authored by Tanya Lattner's avatar Tanya Lattner
Browse files

Merge 64367 from mainline.

Fix MingW build: define GTEST_OS_WINDOWS if OS is MingW, but disable
exceptions.

llvm-svn: 64521
parent 031126cb
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+6 −6
Original line number Diff line number Diff line
@@ -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