summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Levine <plevine457@gmail.com>2017-07-31 20:20:27 -0400
committerDavid Seifert <soap@gentoo.org>2017-08-13 13:09:14 +0200
commitac45361a557b7bc4a540754e6582854712385df5 (patch)
tree47e4e20b460dd8be97f80be77f7c5ebc31d2b37b /dev-cpp/gmock
parentgames-arcade/insaneodyssey: Fix building with GCC-6 (diff)
downloadgentoo-ac45361a557b7bc4a540754e6582854712385df5.tar.gz
gentoo-ac45361a557b7bc4a540754e6582854712385df5.tar.bz2
gentoo-ac45361a557b7bc4a540754e6582854712385df5.zip
dev-cpp/gmock: Fix test failure with GCC-6
Bug: https://bugs.gentoo.org/show_bug.cgi?id=602158 Package-Manager: Portage-2.3.6, Repoman-2.3.2 Closes: https://github.com/gentoo/gentoo/pull/5262
Diffstat (limited to 'dev-cpp/gmock')
-rw-r--r--dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch32
-rw-r--r--dev-cpp/gmock/gmock-1.7.0-r1.ebuild6
2 files changed, 36 insertions, 2 deletions
diff --git a/dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch b/dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch
new file mode 100644
index 000000000000..58a78462d60d
--- /dev/null
+++ b/dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch
@@ -0,0 +1,32 @@
+Bug: https://bugs.gentoo.org/602158
+Patch: https://github.com/google/googletest/issues/705#issuecomment-235067917
+
+--- a/include/gmock/gmock-spec-builders.h
++++ b/include/gmock/gmock-spec-builders.h
+@@ -1370,6 +1370,8 @@
+ template <>
+ class ActionResultHolder<void> : public UntypedActionResultHolderBase {
+ public:
++ explicit ActionResultHolder() {}
++
+ void GetValueAndDelete() const { delete this; }
+
+ virtual void PrintAsActionResult(::std::ostream* /* os */) const {}
+@@ -1381,7 +1383,7 @@
+ const typename Function<F>::ArgumentTuple& args,
+ const string& call_description) {
+ func_mocker->PerformDefaultAction(args, call_description);
+- return NULL;
++ return new ActionResultHolder();
+ }
+
+ // Performs the given action and returns NULL.
+@@ -1390,7 +1392,7 @@
+ const Action<F>& action,
+ const typename Function<F>::ArgumentTuple& args) {
+ action.Perform(args);
+- return NULL;
++ return new ActionResultHolder();
+ }
+ };
+
diff --git a/dev-cpp/gmock/gmock-1.7.0-r1.ebuild b/dev-cpp/gmock/gmock-1.7.0-r1.ebuild
index 2bc06efec1ef..42e424f63b84 100644
--- a/dev-cpp/gmock/gmock-1.7.0-r1.ebuild
+++ b/dev-cpp/gmock/gmock-1.7.0-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
PYTHON_COMPAT=( python2_7 )
-inherit libtool multilib-minimal python-any-r1
+inherit epatch libtool multilib-minimal python-any-r1
DESCRIPTION="Google's C++ mocking framework"
HOMEPAGE="https://github.com/google/googlemock"
@@ -34,6 +34,8 @@ src_unpack() {
}
src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc6.patch
+
sed -i -r \
-e '/^install-(data|exec)-local:/s|^.*$|&\ndisabled-&|' \
Makefile.in