summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/gtest')
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch21
-rw-r--r--dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch14
-rw-r--r--dev-cpp/gtest/gtest-1.8.0-r1.ebuild2
-rw-r--r--dev-cpp/gtest/gtest-1.8.0.ebuild2
4 files changed, 28 insertions, 11 deletions
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch
new file mode 100644
index 000000000000..eadfe6197389
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch
@@ -0,0 +1,21 @@
+Fix build with GCC 6 due to lifetime issues.
+
+--- a/googletest/src/gtest.cc
++++ b/googletest/src/gtest.cc
+@@ -2654,10 +2654,12 @@
+ test->Run();
+ }
+
+- // Deletes the test object.
+- impl->os_stack_trace_getter()->UponLeavingGTest();
+- internal::HandleExceptionsInMethodIfSupported(
+- test, &Test::DeleteSelf_, "the test fixture's destructor");
++ if (test != NULL) {
++ // Deletes the test object.
++ impl->os_stack_trace_getter()->UponLeavingGTest();
++ internal::HandleExceptionsInMethodIfSupported(
++ test, &Test::DeleteSelf_, "the test fixture's destructor");
++ }
+
+ result_.set_elapsed_time(internal::GetTimeInMillis() - start);
+
diff --git a/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
index eadfe6197389..8dfed46d4585 100644
--- a/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
+++ b/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
@@ -2,19 +2,15 @@ Fix build with GCC 6 due to lifetime issues.
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
-@@ -2654,10 +2654,12 @@
+@@ -2693,10 +2693,12 @@
test->Run();
}
-- // Deletes the test object.
-- impl->os_stack_trace_getter()->UponLeavingGTest();
-- internal::HandleExceptionsInMethodIfSupported(
-- test, &Test::DeleteSelf_, "the test fixture's destructor");
+ if (test != NULL) {
-+ // Deletes the test object.
-+ impl->os_stack_trace_getter()->UponLeavingGTest();
-+ internal::HandleExceptionsInMethodIfSupported(
-+ test, &Test::DeleteSelf_, "the test fixture's destructor");
+ // Deletes the test object.
+ impl->os_stack_trace_getter()->UponLeavingGTest();
+ internal::HandleExceptionsInMethodIfSupported(
+ test, &Test::DeleteSelf_, "the test fixture's destructor");
+ }
result_.set_elapsed_time(internal::GetTimeInMillis() - start);
diff --git a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild
index 96cb8b936bfb..3fd0d1438bea 100644
--- a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild
+++ b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild
@@ -22,7 +22,7 @@ RDEPEND="!dev-cpp/gmock"
PATCHES=(
"${FILESDIR}"/${PN}-9999-fix-py-tests.patch
- "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-fix-gcc6-undefined-behavior.patch
"${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
"${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
"${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch
diff --git a/dev-cpp/gtest/gtest-1.8.0.ebuild b/dev-cpp/gtest/gtest-1.8.0.ebuild
index 3dbd8e1a06d4..fec38c4bc247 100644
--- a/dev-cpp/gtest/gtest-1.8.0.ebuild
+++ b/dev-cpp/gtest/gtest-1.8.0.ebuild
@@ -22,7 +22,7 @@ RDEPEND="!dev-cpp/gmock"
PATCHES=(
"${FILESDIR}"/${PN}-9999-fix-py-tests.patch
- "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-fix-gcc6-undefined-behavior.patch
"${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
"${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
)