Makes gtest_break_on_failure_unittest work on minGW (by vladl); improves
the NULL-dereferencing hack to work with LLVM (by chandlerc).
This commit is contained in:
parent
682c89f755
commit
5e4214cee4
|
@ -3608,7 +3608,11 @@ void UnitTest::AddTestPartResult(TestPartResult::Type result_type,
|
|||
// the --gtest_catch_exceptions flags are specified.
|
||||
DebugBreak();
|
||||
#else
|
||||
*static_cast<int*>(NULL) = 1;
|
||||
// Dereference NULL through a volatile pointer to prevent the compiler
|
||||
// from removing. We use this rather than abort() or __builtin_trap() for
|
||||
// portability: Symbian doesn't implement abort() well, and some debuggers
|
||||
// don't correctly trap abort().
|
||||
*static_cast<volatile int*>(NULL) = 1;
|
||||
#endif // GTEST_OS_WINDOWS
|
||||
} else if (GTEST_FLAG(throw_on_failure)) {
|
||||
#if GTEST_HAS_EXCEPTIONS
|
||||
|
|
|
@ -69,7 +69,7 @@ int main(int argc, char **argv) {
|
|||
// a general protection fault (segment violation).
|
||||
SetErrorMode(SEM_NOGPFAULTERRORBOX | SEM_FAILCRITICALERRORS);
|
||||
|
||||
#if !GTEST_OS_WINDOWS_MOBILE
|
||||
#if GTEST_HAS_SEH && !GTEST_OS_WINDOWS_MOBILE
|
||||
// The default unhandled exception filter does not always exit
|
||||
// with the exception code as exit code - for example it exits with
|
||||
// 0 for EXCEPTION_ACCESS_VIOLATION and 1 for EXCEPTION_BREAKPOINT
|
||||
|
|
Loading…
Reference in New Issue
Block a user