summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2011-04-14 19:36:05 +0000
committerzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2011-04-14 19:36:05 +0000
commitaca3d2c1c2cac957f4232c2feaf529387ef7fcb6 (patch)
tree245c3119b6d5b8f63903e93d22d5deecb634f06e /src
parente1247c5d8dfdf051dfb6035df1dae84827089385 (diff)
downloadgtest-aca3d2c1c2cac957f4232c2feaf529387ef7fcb6.tar.gz
gtest-aca3d2c1c2cac957f4232c2feaf529387ef7fcb6.tar.bz2
gtest-aca3d2c1c2cac957f4232c2feaf529387ef7fcb6.tar.xz
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
Diffstat (limited to 'src')
-rw-r--r--src/gtest-death-test.cc5
1 files changed, 5 insertions, 0 deletions
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;