include: Make the Wine exception handlers cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c0a54996e2
commit
60df3b14b5
|
@ -2580,8 +2580,8 @@ static RUNTIME_FUNCTION *lookup_function_info( ULONG64 pc, ULONG64 *base, LDR_MO
|
|||
return func;
|
||||
}
|
||||
|
||||
static DWORD nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
{
|
||||
if (rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)) return ExceptionContinueSearch;
|
||||
|
||||
|
@ -3936,8 +3936,8 @@ struct unwind_exception_frame
|
|||
*
|
||||
* Handler for exceptions happening while calling an unwind handler.
|
||||
*/
|
||||
static DWORD unwind_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
static DWORD __cdecl unwind_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
|
||||
{
|
||||
struct unwind_exception_frame *unwind_frame = (struct unwind_exception_frame *)frame;
|
||||
DISPATCHER_CONTEXT *dispatch = (DISPATCHER_CONTEXT *)dispatcher;
|
||||
|
|
|
@ -86,10 +86,10 @@ static void DECLSPEC_NORETURN unwind_frame( EXCEPTION_RECORD *record,
|
|||
__wine_rtl_unwind( frame, record, unwind_target );
|
||||
}
|
||||
|
||||
DWORD __wine_exception_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_exception_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
__WINE_FRAME *wine_frame = (__WINE_FRAME *)frame;
|
||||
EXCEPTION_POINTERS ptrs;
|
||||
|
@ -111,10 +111,10 @@ DWORD __wine_exception_handler( EXCEPTION_RECORD *record,
|
|||
unwind_frame( record, frame );
|
||||
}
|
||||
|
||||
DWORD __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
__WINE_FRAME *wine_frame = (__WINE_FRAME *)frame;
|
||||
EXCEPTION_POINTERS ptrs;
|
||||
|
@ -136,10 +136,10 @@ DWORD __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
|||
unwind_frame( record, frame );
|
||||
}
|
||||
|
||||
DWORD __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
if (record->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND | EH_NESTED_CALL))
|
||||
return ExceptionContinueSearch;
|
||||
|
@ -148,20 +148,20 @@ DWORD __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
|||
unwind_frame( record, frame );
|
||||
}
|
||||
|
||||
DWORD __wine_exception_handler_all( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_exception_handler_all( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
if (record->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND | EH_NESTED_CALL))
|
||||
return ExceptionContinueSearch;
|
||||
unwind_frame( record, frame );
|
||||
}
|
||||
|
||||
DWORD __wine_finally_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_finally_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
if (record->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND))
|
||||
{
|
||||
|
@ -171,10 +171,10 @@ DWORD __wine_finally_handler( EXCEPTION_RECORD *record,
|
|||
return ExceptionContinueSearch;
|
||||
}
|
||||
|
||||
DWORD __wine_finally_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
DWORD __cdecl __wine_finally_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher )
|
||||
{
|
||||
if (record->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND))
|
||||
{
|
||||
|
|
|
@ -94,36 +94,41 @@ extern "C" {
|
|||
|
||||
#if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__WINE_SETJMP_H)
|
||||
#define sigjmp_buf jmp_buf
|
||||
static inline int sigsetjmp( sigjmp_buf buf, int sigs ) { return setjmp( buf ); }
|
||||
static inline void siglongjmp( sigjmp_buf buf, int val ) { longjmp( buf, val ); }
|
||||
# ifdef _WIN64
|
||||
int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void*);
|
||||
# define sigsetjmp(buf,sigs) _setjmpex(buf,CONTAINING_RECORD(buf,__WINE_FRAME,jmp))
|
||||
# else
|
||||
# define sigsetjmp(buf,sigs) setjmp(buf)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
extern void __cdecl __wine_rtl_unwind( EXCEPTION_REGISTRATION_RECORD* frame, EXCEPTION_RECORD *record,
|
||||
void (*target)(void) ) DECLSPEC_HIDDEN DECLSPEC_NORETURN;
|
||||
extern DWORD __wine_exception_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __wine_exception_handler_all( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __wine_finally_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __wine_finally_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_exception_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_exception_handler_all( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_finally_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
extern DWORD __cdecl __wine_finally_ctx_handler( EXCEPTION_RECORD *record,
|
||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
||||
CONTEXT *context,
|
||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher ) DECLSPEC_HIDDEN;
|
||||
|
||||
#define __TRY \
|
||||
do { __WINE_FRAME __f; \
|
||||
|
|
|
@ -2467,8 +2467,8 @@ typedef struct _EXCEPTION_POINTERS
|
|||
|
||||
struct _EXCEPTION_REGISTRATION_RECORD;
|
||||
|
||||
typedef DWORD (*PEXCEPTION_HANDLER)(PEXCEPTION_RECORD,struct _EXCEPTION_REGISTRATION_RECORD*,
|
||||
PCONTEXT,struct _EXCEPTION_REGISTRATION_RECORD **);
|
||||
typedef DWORD (CDECL *PEXCEPTION_HANDLER)(PEXCEPTION_RECORD,struct _EXCEPTION_REGISTRATION_RECORD*,
|
||||
PCONTEXT,struct _EXCEPTION_REGISTRATION_RECORD **);
|
||||
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD
|
||||
{
|
||||
|
|
|
@ -5064,10 +5064,10 @@ void write_exceptions( FILE *file )
|
|||
fprintf( file, " siglongjmp( exc_frame->jmp, 1 );\n");
|
||||
fprintf( file, "}\n");
|
||||
fprintf( file, "\n");
|
||||
fprintf( file, "static DWORD __widl_exception_handler( EXCEPTION_RECORD *record,\n");
|
||||
fprintf( file, " EXCEPTION_REGISTRATION_RECORD *frame,\n");
|
||||
fprintf( file, " CONTEXT *context,\n");
|
||||
fprintf( file, " EXCEPTION_REGISTRATION_RECORD **pdispatcher )\n");
|
||||
fprintf( file, "static DWORD __cdecl __widl_exception_handler( EXCEPTION_RECORD *record,\n");
|
||||
fprintf( file, " EXCEPTION_REGISTRATION_RECORD *frame,\n");
|
||||
fprintf( file, " CONTEXT *context,\n");
|
||||
fprintf( file, " EXCEPTION_REGISTRATION_RECORD **pdispatcher )\n");
|
||||
fprintf( file, "{\n");
|
||||
fprintf( file, " struct __exception_frame *exc_frame = (struct __exception_frame *)frame;\n");
|
||||
fprintf( file, "\n");
|
||||
|
|
Loading…
Reference in New Issue