mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
Forgot to implement _SEH2_LEAVE. Also added some _SEH2 aliases to clean any possible ambiguity
svn path=/trunk/; revision=14340
This commit is contained in:
parent
4d4ec75256
commit
0a9a6b6359
1 changed files with 12 additions and 6 deletions
|
@ -215,6 +215,13 @@ static __declspec(noreturn) __inline void __stdcall _SEHCompilerSpecificHandler
|
|||
|
||||
#define _SEH_LEAVE break
|
||||
|
||||
#define _SEH_GetExceptionCode() (unsigned long)(_SEHPortableFrame->SPF_Code)
|
||||
|
||||
#define _SEH_GetExceptionPointers() \
|
||||
((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
|
||||
|
||||
#define _SEH_AbnormalTermination() (_SEHPortableFrame->SPF_Code != 0)
|
||||
|
||||
/* New syntax */
|
||||
#define _SEH2_STATE_INIT_EXCEPT (1)
|
||||
#define _SEH2_STATE_INIT_FINALLY (_SEH2_STATE_INIT_EXCEPT + 1)
|
||||
|
@ -222,6 +229,8 @@ static __declspec(noreturn) __inline void __stdcall _SEHCompilerSpecificHandler
|
|||
#define _SEH2_STATE_HANDLER (_SEH2_STATE_BODY + 1)
|
||||
#define _SEH2_STATE_DONE (_SEH2_STATE_HANDLER + 1)
|
||||
|
||||
#define _SEH2_LEAVE { _SEH2State = _SEH2_STATE_DONE; break; }
|
||||
|
||||
#define _SEH2_TRY \
|
||||
{ \
|
||||
int _SEH2State; \
|
||||
|
@ -300,12 +309,9 @@ static __declspec(noreturn) __inline void __stdcall _SEHCompilerSpecificHandler
|
|||
|
||||
#define _SEH2_HANDLE _SEH2_EXCEPT(_SEH_STATIC_FILTER(_SEH_EXECUTE_HANDLER))
|
||||
|
||||
#define _SEH_GetExceptionCode() (unsigned long)(_SEHPortableFrame->SPF_Code)
|
||||
|
||||
#define _SEH_GetExceptionPointers() \
|
||||
((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
|
||||
|
||||
#define _SEH_AbnormalTermination() (_SEHPortableFrame->SPF_Code != 0)
|
||||
#define _SEH2_GetExceptionCode _SEH_GetExceptionCode
|
||||
#define _SEH2_GetExceptionPointers _SEH_GetExceptionPointers
|
||||
#define _SEH2_AbnormalTermination _SEH_AbnormalTermination
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue