[PowerPC][NFC] Cleanup PPCCTRLoopsVerify pass
[llvm-project.git] / libcxx / test / support / set_windows_crt_report_mode.h
blob206bd5ddb73ef448041d76a55a33e3519043148f
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
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
7 //
8 //===----------------------------------------------------------------------===//
9 #ifndef SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H
10 #define SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H
12 #ifndef _DEBUG
13 #error _DEBUG must be defined when using this header
14 #endif
16 #ifndef _WIN32
17 #error This header can only be used when targeting Windows
18 #endif
20 #include <crtdbg.h>
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
25 // instead.
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);
30 return 0;
33 static int init_crt_anchor = init_crt_report_mode();
35 #endif // SUPPORT_SET_WINDOWS_CRT_REPORT_MODE_H