mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-08 05:51:09 +00:00
cf11cbdb30
SVN r4 (trunk)
31 lines
855 B
C
31 lines
855 B
C
// 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
|