master
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef __cplusplus
8#error eh.h is only for C++!
9#endif
10
11#include <typeinfo>
12
13#include <crtdefs.h>
14
15#ifndef _EH_H_
16#define _EH_H_
17
18#ifndef RC_INVOKED
19
20#pragma pack(push,_CRT_PACKING)
21
22typedef void (__cdecl *terminate_function)();
23typedef void (__cdecl *terminate_handler)();
24typedef void (__cdecl *unexpected_function)();
25typedef void (__cdecl *unexpected_handler)();
26
27struct _EXCEPTION_POINTERS;
28typedef void (__cdecl *_se_translator_function)(unsigned int,struct _EXCEPTION_POINTERS *);
29
30_CRTIMP __MINGW_ATTRIB_NORETURN void __cdecl terminate(void);
31_CRTIMP void __cdecl unexpected(void);
32_CRTIMP int __cdecl _is_exception_typeof(const std::type_info &_Type,struct _EXCEPTION_POINTERS *_ExceptionPtr);
33_CRTIMP terminate_function __cdecl set_terminate(terminate_function _NewPtFunc);
34extern "C" _CRTIMP terminate_function __cdecl _get_terminate(void);
35_CRTIMP unexpected_function __cdecl set_unexpected(unexpected_function _NewPtFunc);
36extern "C" _CRTIMP unexpected_function __cdecl _get_unexpected(void);
37_CRTIMP _se_translator_function __cdecl _set_se_translator(_se_translator_function _NewPtFunc);
38_CRTIMP bool __cdecl __uncaught_exception();
39
40#pragma pack(pop)
41#endif
42#endif /* End _EH_H_ */
43