diff options
| -rw-r--r-- | googletest/cmake/internal_utils.cmake | 2 | ||||
| -rw-r--r-- | googletest/include/gtest/internal/gtest-port.h | 7 | 
2 files changed, 6 insertions, 3 deletions
| diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake index 2c978332..3277cc5c 100644 --- a/googletest/cmake/internal_utils.cmake +++ b/googletest/cmake/internal_utils.cmake @@ -91,7 +91,7 @@ macro(config_compiler_and_linker)      set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")      set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")      set(cxx_exception_flags "-EHsc -D_HAS_EXCEPTIONS=1") -    set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0") +    set(cxx_no_exception_flags "-EHs-c- -D_HAS_EXCEPTIONS=0")      set(cxx_no_rtti_flags "-GR-")    elseif (CMAKE_COMPILER_IS_GNUCXX)      set(cxx_base_flags "-Wall -Wshadow -Werror") diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h index 2c819c9f..4d5aa043 100644 --- a/googletest/include/gtest/internal/gtest-port.h +++ b/googletest/include/gtest/internal/gtest-port.h @@ -471,8 +471,11 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;  #ifndef GTEST_HAS_EXCEPTIONS  // The user didn't tell us whether exceptions are enabled, so we need  // to figure it out. -# if defined(_MSC_VER) || defined(__BORLANDC__) -// MSVC's and C++Builder's implementations of the STL use the _HAS_EXCEPTIONS +# if defined(_MSC_VER) && defined(_CPPUNWIND) +// MSVC defines _CPPUNWIND to 1 iff exceptions are enabled. +#  define GTEST_HAS_EXCEPTIONS 1 +# elif defined(__BORLANDC__) +// C++Builder's implementation of the STL uses the _HAS_EXCEPTIONS  // macro to enable exceptions, so we'll do the same.  // Assumes that exceptions are enabled by default.  #  ifndef _HAS_EXCEPTIONS | 
