src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp

Print this page

        

*** 27,40 **** --- 27,45 ---- #ifdef AMD64 typedef unsigned char UBYTE; + #if _MSC_VER < 1700 + + /* Not needed for VS2012 compiler, comes from winnt.h. */ #define UNW_FLAG_EHANDLER 0x01 #define UNW_FLAG_UHANDLER 0x02 #define UNW_FLAG_CHAININFO 0x04 + #endif + // This structure is used to define an UNWIND_INFO that // only has an ExceptionHandler. There are no UnwindCodes // declared. typedef struct _UNWIND_INFO_EH_ONLY { UBYTE Version : 3;
*** 57,66 **** --- 62,74 ---- ULONG EndAddress; ULONG UnwindData; } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; */ + #if _MSC_VER < 1700 + + /* Not needed for VS2012 compiler, comes from winnt.h. */ typedef struct _DISPATCHER_CONTEXT { ULONG64 ControlPc; ULONG64 ImageBase; PRUNTIME_FUNCTION FunctionEntry; ULONG64 EstablisherFrame;
*** 69,78 **** --- 77,88 ---- // PEXCEPTION_ROUTINE LanguageHandler; char * LanguageHandler; // double dependency problem PVOID HandlerData; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; + #endif + #if _MSC_VER < 1500 /* Not needed for VS2008 compiler, comes from winnt.h. */ typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) ( IN PEXCEPTION_RECORD ExceptionRecord,