diff options
Diffstat (limited to 'dev-cpp/gtest')
-rw-r--r-- | dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch | 21 | ||||
-rw-r--r-- | dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch | 14 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.8.0-r1.ebuild | 2 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.8.0.ebuild | 2 |
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 ) |