diff --git a/utils/unittest/UnitTestMain/Makefile b/utils/unittest/UnitTestMain/Makefile index 328d5e2917f..5c1004942db 100644 --- a/utils/unittest/UnitTestMain/Makefile +++ b/utils/unittest/UnitTestMain/Makefile @@ -14,7 +14,13 @@ include $(LEVEL)/Makefile.config LIBRARYNAME = UnitTestMain BUILD_ARCHIVE = 1 REQUIRES_RTTI = 1 + CPP.Flags += -I$(LLVM_SRC_ROOT)/utils/unittest/googletest/include CPP.Flags += $(NO_MISSING_FIELD_INITIALIZERS) $(NO_VARIADIC_MACROS) +CPP.Flags += -DGTEST_HAS_RTTI=0 +# libstdc++'s TR1 header depends on RTTI and uses C++'0x features not +# supported by Clang, so force googletest to use its own tuple implementation. +# When we import googletest >=1.4.0, we can drop this line. +CPP.Flags += -DGTEST_HAS_TR1_TUPLE=0 include $(LEVEL)/Makefile.common diff --git a/utils/unittest/googletest/Makefile b/utils/unittest/googletest/Makefile index 688a5bda812..1ec979d961e 100644 --- a/utils/unittest/googletest/Makefile +++ b/utils/unittest/googletest/Makefile @@ -16,7 +16,8 @@ BUILD_ARCHIVE = 1 REQUIRES_RTTI = 1 # Note that these flags are duplicated when building individual tests in -# unittests/Makefile.unittest; ensure that any changes are made to both. +# unittests/Makefile.unittest and ../UnitTestMain/Makefile; ensure that any +# changes are made to both. CPP.Flags += -I$(LLVM_SRC_ROOT)/utils/unittest/googletest/include CPP.Flags += $(NO_MISSING_FIELD_INITIALIZERS) $(NO_VARIADIC_MACROS) CPP.Flags += -DGTEST_HAS_RTTI=0