aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Leißa <leissa@cs.uni-saarland.de>2018-03-28 23:45:51 +0200
committerRoland Leißa <leissa@cs.uni-saarland.de>2018-03-28 23:45:51 +0200
commit11855d8ef08567c7961fb3c6562fbe6f9b479092 (patch)
tree21005c797524ba9c4532706086832d1873f432b3
parent9dde7c4e8c46a65ad6215440bb396ad219e06ed4 (diff)
downloadgoogletest-11855d8ef08567c7961fb3c6562fbe6f9b479092.tar.gz
googletest-11855d8ef08567c7961fb3c6562fbe6f9b479092.tar.bz2
googletest-11855d8ef08567c7961fb3c6562fbe6f9b479092.zip
provide alternative for DebugBreak()
This uses asm("int3") for clang/gcc on x86 as alternative for DebugBreak()
-rw-r--r--googletest/src/gtest.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc
index 9079af8d..74067bc3 100644
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -4549,6 +4549,9 @@ void UnitTest::AddTestPartResult(
// when a failure happens and both the --gtest_break_on_failure and
// the --gtest_catch_exceptions flags are specified.
DebugBreak();
+#elif (defined(__clang__) || defined(__GNUC__)) && (defined(__x86_64__) || defined(__i386__))
+ // with clang/gcc we can acchieve the same effect on x86 by invoking int3
+ asm("int3");
#else
// Dereference NULL through a volatile pointer to prevent the compiler
// from removing. We use this rather than abort() or __builtin_trap() for