2 //===----------------------------------------------------------------------===//
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
9 #ifndef SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H
10 #define SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H
13 #error _DEBUG must be defined when using this header
17 #error This header can only be used when targeting Windows
22 // On Windows in debug builds the default assertion handler opens a new dialog
23 // window which must be dismissed manually by the user. This function overrides
24 // that setting and instead changes the assertion handler to log to stderr
26 inline int init_crt_report_mode() {
27 _CrtSetReportMode(_CRT_WARN
, _CRTDBG_MODE_DEBUG
);
28 _CrtSetReportMode(_CRT_ERROR
, _CRTDBG_MODE_DEBUG
);
29 _CrtSetReportMode(_CRT_ASSERT
, _CRTDBG_MODE_DEBUG
);
33 static int init_crt_anchor
= init_crt_report_mode();
35 #endif // SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H