dev-cpp/gmock: Fix test failure with GCC-6
authorPeter Levine <plevine457@gmail.com>
Tue, 1 Aug 2017 00:20:27 +0000 (20:20 -0400)
committerDavid Seifert <soap@gentoo.org>
Sun, 13 Aug 2017 11:09:14 +0000 (13:09 +0200)
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

dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch [new file with mode: 0644]
dev-cpp/gmock/gmock-1.7.0-r1.ebuild

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 (file)
index 0000000..58a7846
--- /dev/null
@@ -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();
+   }
+ };
index 2bc06efec1efa36eff23ad251ebbbb3a65e020da..42e424f63b842623a6dbd3f511a55fd2a148ee02 100644 (file)
@@ -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