rtasm: fix void * / func * casting warnings
This commit is contained in:
@@ -1743,20 +1743,35 @@ void x86_release_func( struct x86_function *p )
|
||||
}
|
||||
|
||||
|
||||
void (*x86_get_func( struct x86_function *p ))(void)
|
||||
static INLINE x86_func
|
||||
voidptr_to_x86_func(void *v)
|
||||
{
|
||||
union {
|
||||
void *v;
|
||||
x86_func f;
|
||||
} u;
|
||||
assert(sizeof(u.v) == sizeof(u.f));
|
||||
u.v = v;
|
||||
return u.f;
|
||||
}
|
||||
|
||||
|
||||
x86_func x86_get_func( struct x86_function *p )
|
||||
{
|
||||
DUMP_END();
|
||||
if (DISASSEM && p->store)
|
||||
debug_printf("disassemble %p %p\n", p->store, p->csr);
|
||||
|
||||
if (p->store == p->error_overflow)
|
||||
return (void (*)(void)) NULL;
|
||||
return voidptr_to_x86_func(NULL);
|
||||
else
|
||||
return (void (*)(void)) p->store;
|
||||
return voidptr_to_x86_func(p->store);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void x86sse_dummy( void );
|
||||
|
||||
void x86sse_dummy( void )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -102,6 +102,11 @@ enum sse_cc {
|
||||
#define cc_Z cc_E
|
||||
#define cc_NZ cc_NE
|
||||
|
||||
|
||||
/** generic pointer to function */
|
||||
typedef void (*x86_func)(void);
|
||||
|
||||
|
||||
/* Begin/end/retrieve function creation:
|
||||
*/
|
||||
|
||||
@@ -109,7 +114,7 @@ enum sse_cc {
|
||||
void x86_init_func( struct x86_function *p );
|
||||
void x86_init_func_size( struct x86_function *p, unsigned code_size );
|
||||
void x86_release_func( struct x86_function *p );
|
||||
void (*x86_get_func( struct x86_function *p ))( void );
|
||||
x86_func x86_get_func( struct x86_function *p );
|
||||
|
||||
/* Debugging:
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user