From aca3d2c1c2cac957f4232c2feaf529387ef7fcb6 Mon Sep 17 00:00:00 2001 From: "zhanyong.wan" Date: Thu, 14 Apr 2011 19:36:05 +0000 Subject: fixes a problem caused by gcc 4.6 optimization (by Paul Pluzhnikov) git-svn-id: http://googletest.googlecode.com/svn/trunk@571 861a406c-534a-0410-8894-cb66d6ee9925 --- src/gtest-death-test.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/gtest-death-test.cc b/src/gtest-death-test.cc index 603fccc..8b2e413 100644 --- a/src/gtest-death-test.cc +++ b/src/gtest-death-test.cc @@ -932,6 +932,11 @@ static int ExecDeathTestChildMain(void* child_arg) { // This could be accomplished more elegantly by a single recursive // function, but we want to guard against the unlikely possibility of // a smart compiler optimizing the recursion away. +// +// GTEST_NO_INLINE_ is required to prevent GCC 4.6 from inlining +// StackLowerThanAddress into StackGrowsDown, which then doesn't give +// correct answer. +bool StackLowerThanAddress(const void* ptr) GTEST_NO_INLINE_; bool StackLowerThanAddress(const void* ptr) { int dummy; return &dummy < ptr; -- cgit v1.2.3