From 6ee005a4de92e590642f28f1c5f81af67308eb2d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 30 Nov 2016 22:26:20 +0100 Subject: [PATCH] msvc: avoid debug assertion windows in Debug Mode For regular debugging, it is pretty helpful when a debug assertion in a running application triggers a window that offers to start the debugger. However, when running the test suite, it is not so helpful, in particular when the debug assertions are then suppressed anyway because we disable the invalid parameter checking (via invalidcontinue.obj, see the comment in config.mak.uname about that object for more information). So let's simply disable that window in Debug Mode (it is already disabled in Release Mode). Signed-off-by: Johannes Schindelin --- compat/mingw.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compat/mingw.c b/compat/mingw.c index 0cbb4b061a..64fafb65c3 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -2995,6 +2995,10 @@ static void maybe_redirect_std_handles(void) #if defined(_MSC_VER) +#ifdef _DEBUG +#include +#endif + /* * This routine sits between wmain() and "main" in git.exe. * We receive UNICODE (wchar_t) values for argv and env. @@ -3019,6 +3023,10 @@ int msc_startup(int argc, wchar_t **w_argv, wchar_t **w_env) int maxlen; int k, exit_status; +#ifdef _DEBUG + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG); +#endif + #ifdef USE_MSVC_CRTDBG _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif