Index: testing/gmock/include/gmock/gmock-more-actions.h |
diff --git a/testing/gmock/include/gmock/gmock-more-actions.h b/testing/gmock/include/gmock/gmock-more-actions.h |
index c6fa6bbd70b4adf05d25157ffd750700b7b73429..6226392d714da5a214d92944ae2ff38994b59bab 100644 |
--- a/testing/gmock/include/gmock/gmock-more-actions.h |
+++ b/testing/gmock/include/gmock/gmock-more-actions.h |
@@ -58,8 +58,11 @@ class InvokeAction { |
Result Perform(const ArgumentTuple& args) { |
return InvokeHelper<Result, ArgumentTuple>::Invoke(function_impl_, args); |
} |
+ |
private: |
FunctionImpl function_impl_; |
+ |
+ GTEST_DISALLOW_ASSIGN_(InvokeAction); |
}; |
// Implements the Invoke(object_ptr, &Class::Method) action. |
@@ -74,9 +77,12 @@ class InvokeMethodAction { |
return InvokeHelper<Result, ArgumentTuple>::InvokeMethod( |
obj_ptr_, method_ptr_, args); |
} |
+ |
private: |
Class* const obj_ptr_; |
const MethodPtr method_ptr_; |
+ |
+ GTEST_DISALLOW_ASSIGN_(InvokeMethodAction); |
}; |
} // namespace internal |
@@ -122,6 +128,16 @@ WithArg(const InnerAction& action) { |
return internal::WithArgsAction<InnerAction, k>(action); |
} |
+// The ACTION*() macros trigger warning C4100 (unreferenced formal |
+// parameter) in MSVC with -W4. Unfortunately they cannot be fixed in |
+// the macro definition, as the warnings are generated when the macro |
+// is expanded and macro expansion cannot contain #pragma. Therefore |
+// we suppress them here. |
+#ifdef _MSC_VER |
+#pragma warning(push) |
+#pragma warning(disable:4100) |
+#endif |
+ |
// Action ReturnArg<k>() returns the k-th argument of the mock function. |
ACTION_TEMPLATE(ReturnArg, |
HAS_1_TEMPLATE_PARAMS(int, k), |
@@ -185,6 +201,10 @@ ACTION_TEMPLATE(DeleteArg, |
ACTION_P(Throw, exception) { throw exception; } |
#endif // GTEST_HAS_EXCEPTIONS |
+#ifdef _MSC_VER |
+#pragma warning(pop) |
+#endif |
+ |
} // namespace testing |
#endif // GMOCK_INCLUDE_GMOCK_GMOCK_MORE_ACTIONS_H_ |