From cdb24f86d56e5a3ff84b6f1fa71e0b33f22d9152 Mon Sep 17 00:00:00 2001 From: vladlosev Date: Wed, 2 May 2012 18:09:59 +0000 Subject: [PATCH] Teach gtest to autodetect rtti support with clang (by Nico Weber). --- include/gtest/internal/gtest-port.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h index 66c50965..08703e31 100644 --- a/include/gtest/internal/gtest-port.h +++ b/include/gtest/internal/gtest-port.h @@ -391,6 +391,13 @@ # define GTEST_HAS_RTTI 0 # endif // __GXX_RTTI +// Clang defines __GXX_RTTI starting with version 3.0, but its manual recommends +// using has_feature instead. has_feature(cxx_rtti) is supported since 2.7, the +// first version with C++ support. +# elif defined(__clang__) + +# define GTEST_HAS_RTTI __has_feature(cxx_rtti) + // Starting with version 9.0 IBM Visual Age defines __RTTI_ALL__ to 1 if // both the typeid and dynamic_cast features are present. # elif defined(__IBMCPP__) && (__IBMCPP__ >= 900)