diff options
Diffstat (limited to 'include/gtest/internal/gtest-port.h')
-rw-r--r-- | include/gtest/internal/gtest-port.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h index d8f22c25..208dcfb4 100644 --- a/include/gtest/internal/gtest-port.h +++ b/include/gtest/internal/gtest-port.h @@ -498,6 +498,11 @@ struct _RTL_CRITICAL_SECTION; # define _HAS_EXCEPTIONS 1 # endif // _HAS_EXCEPTIONS # define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS +# elif defined(__clang__) +// __EXCEPTIONS determines if cleanups are enabled. In Obj-C++ files, there can +// be cleanups for ObjC exceptions, but C++ exceptions might still be disabled. +// So use a __has_feature check for C++ exceptions instead. +# define GTEST_HAS_EXCEPTIONS __has_feature(cxx_exceptions) # elif defined(__GNUC__) && __EXCEPTIONS // gcc defines __EXCEPTIONS to 1 iff exceptions are enabled. # define GTEST_HAS_EXCEPTIONS 1 |