zduke/source/win32/gccseh.h

32 lines
824 B
C
Raw Permalink Normal View History

2020-07-17 08:59:23 +00:00
// GCC does not support Windows' Structured Exception Handling. :-(
// So I have to fake it using inline assembly
#ifdef __GNUC__
#define __try try
#define __except(a) catch(...)
#define EH_NONCONTINUABLE 0x01
#define EH_UNWINDING 0x02
#define EH_EXIT_UNWIND 0x04
#define EH_STACK_INVALID 0x08
#define EH_NESTED_CALL 0x10
typedef enum {
ExceptionContinueExecution,
ExceptionContinueSearch,
ExceptionNestedException,
ExceptionCollidedUnwind
} EXCEPTION_DISPOSITION;
typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
typedef struct _EXCEPTION_REGISTRATION
{
struct _EXCEPTION_REGISTRATION* Prev;
PEXCEPTION_HANDLER Handler;
} EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION;
#endif