From 7489581db8ea450d22f64e9a7a824e275fa605a0 Mon Sep 17 00:00:00 2001 From: kosak Date: Thu, 8 Jan 2015 03:34:16 +0000 Subject: Fix build of Objective-C++ files with new clang versions. --- include/gtest/internal/gtest-port.h | 5 +++++ 1 file changed, 5 insertions(+) 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 -- cgit v1.2.3