X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Flib%2Fpseh%2Fi386%2Fpseh3.c;h=96760ea5b88728321776c4d273d2ca806c05fbbd;hp=8a3be57e03f4e3d1b847e47b5072eee23c16258e;hb=cc9ee2cf1b205cc51a3a4f30c9f0a307e3b41ed1;hpb=e9389a03f4186fcd5a2a503f45ced9a700ffabc8 diff --git a/reactos/lib/pseh/i386/pseh3.c b/reactos/lib/pseh/i386/pseh3.c index 8a3be57e03f..96760ea5b88 100644 --- a/reactos/lib/pseh/i386/pseh3.c +++ b/reactos/lib/pseh/i386/pseh3.c @@ -64,7 +64,7 @@ _SEH3$_Unregister( static inline LONG _SEH3$_InvokeNestedFunctionFilter( - PSEH3$_REGISTRATION_FRAME RegistrationFrame, + volatile SEH3$_REGISTRATION_FRAME *RegistrationFrame, PVOID Filter) { LONG FilterResult; @@ -93,17 +93,17 @@ _SEH3$_InvokeNestedFunctionFilter( long __attribute__((regparm(1))) _SEH3$_InvokeEmbeddedFilter( - PSEH3$_REGISTRATION_FRAME RegistrationFrame); + volatile SEH3$_REGISTRATION_FRAME *RegistrationFrame); long __attribute__((regparm(1))) _SEH3$_InvokeEmbeddedFilterFromRegistration( - PSEH3$_REGISTRATION_FRAME RegistrationFrame); + volatile SEH3$_REGISTRATION_FRAME *RegistrationFrame); static inline LONG _SEH3$_InvokeFilter( - PSEH3$_REGISTRATION_FRAME RegistrationFrame, + volatile SEH3$_REGISTRATION_FRAME *RegistrationFrame, PVOID Filter) { LONG FilterResult; @@ -133,7 +133,7 @@ _SEH3$_InvokeFilter( void __attribute__((regparm(1))) _SEH3$_AutoCleanup( - SEH3$_REGISTRATION_FRAME *Frame) + volatile SEH3$_REGISTRATION_FRAME *Frame) { /* Check for __finally frames */ if (Frame->ScopeTable->Target == NULL) @@ -241,7 +241,9 @@ _SEH3$_CallRtlUnwind( EXCEPTION_DISPOSITION __cdecl +#ifndef __clang__ __attribute__ ((__target__ ("cld"))) +#endif _SEH3$_except_handler( struct _EXCEPTION_RECORD * ExceptionRecord, PSEH3$_REGISTRATION_FRAME EstablisherFrame,