From 53d49dc43ea3f34a61f4a017d33ac5a0b650a68d Mon Sep 17 00:00:00 2001 From: kosak Date: Thu, 8 Jan 2015 03:03:09 +0000 Subject: Make ReturnNull() support unique_ptr and shared_ptr. --- include/gmock/gmock-actions.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/gmock/gmock-actions.h b/include/gmock/gmock-actions.h index f92e479f..46b7bf9d 100644 --- a/include/gmock/gmock-actions.h +++ b/include/gmock/gmock-actions.h @@ -583,12 +583,18 @@ class ReturnAction { // Implements the ReturnNull() action. class ReturnNullAction { public: - // Allows ReturnNull() to be used in any pointer-returning function. + // Allows ReturnNull() to be used in any pointer-returning function. In C++11 + // this is enforced by returning nullptr, and in non-C++11 by asserting a + // pointer type on compile time. template static Result Perform(const ArgumentTuple&) { +#if GTEST_LANG_CXX11 + return nullptr; +#else GTEST_COMPILE_ASSERT_(internal::is_pointer::value, ReturnNull_can_be_used_to_return_a_pointer_only); return NULL; +#endif // GTEST_LANG_CXX11 } }; -- cgit v1.2.3