mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-21 03:00:19 +02:00
misc: Make jit_note and related functions take a const argument
Make jit_memcpy, jit_memmove, jit_data take const pointers to allow jit_note to be used with a const string (e.g. a string literal, __FILE__ or __func__). This is needed for GNU Smalltalk to silence compiler warnings. Sadly "const jit_pointer_t" is not the same as "typedef const void *" so I introduced a new typedef for a const jit pointer. The other option would be to replace jit_pointer_t with void*.
This commit is contained in:
parent
44519452d9
commit
2229200c44
5 changed files with 12 additions and 11 deletions
|
@ -120,6 +120,7 @@ typedef jit_uint64_t jit_uword_t;
|
|||
typedef float jit_float32_t;
|
||||
typedef double jit_float64_t;
|
||||
typedef void* jit_pointer_t;
|
||||
typedef const void* jit_const_pointer_t;
|
||||
typedef jit_int32_t jit_bool_t;
|
||||
typedef jit_int32_t jit_gpr_t;
|
||||
typedef jit_int32_t jit_fpr_t;
|
||||
|
@ -856,10 +857,10 @@ extern void _jit_destroy_state(jit_state_t*);
|
|||
|
||||
#define jit_address(node) _jit_address(_jit, node)
|
||||
extern jit_pointer_t _jit_address(jit_state_t*, jit_node_t*);
|
||||
extern jit_node_t *_jit_data(jit_state_t*, jit_pointer_t,
|
||||
extern jit_node_t *_jit_data(jit_state_t*, jit_const_pointer_t,
|
||||
jit_word_t, jit_int32_t);
|
||||
extern jit_node_t *_jit_name(jit_state_t*, char*);
|
||||
extern jit_node_t *_jit_note(jit_state_t*, char*, int);
|
||||
extern jit_node_t *_jit_note(jit_state_t*, const char*, int);
|
||||
extern jit_node_t *_jit_label(jit_state_t*);
|
||||
extern jit_node_t *_jit_forward(jit_state_t*);
|
||||
extern jit_node_t *_jit_indirect(jit_state_t*);
|
||||
|
|
|
@ -611,8 +611,8 @@ extern void _jit_set_note(jit_state_t*, jit_note_t*, char*, int, jit_int32_t);
|
|||
#define jit_annotate() _jit_annotate(_jit)
|
||||
extern void _jit_annotate(jit_state_t*);
|
||||
|
||||
extern jit_pointer_t jit_memcpy(jit_pointer_t,jit_pointer_t,jit_word_t);
|
||||
extern jit_pointer_t jit_memmove(jit_pointer_t,jit_pointer_t,jit_word_t);
|
||||
extern jit_pointer_t jit_memcpy(jit_pointer_t,jit_const_pointer_t,jit_word_t);
|
||||
extern jit_pointer_t jit_memmove(jit_pointer_t,jit_const_pointer_t,jit_word_t);
|
||||
extern void jit_alloc(jit_pointer_t*, jit_word_t);
|
||||
extern void jit_realloc(jit_pointer_t*, jit_word_t, jit_word_t);
|
||||
void jit_free(jit_pointer_t*);
|
||||
|
|
|
@ -39,7 +39,7 @@ static jit_free_func_ptr jit_free_ptr = jit_default_free_func;
|
|||
* Implementation
|
||||
*/
|
||||
jit_pointer_t
|
||||
jit_memcpy(jit_pointer_t dst, jit_pointer_t src, jit_word_t size)
|
||||
jit_memcpy(jit_pointer_t dst, jit_const_pointer_t src, jit_word_t size)
|
||||
{
|
||||
if (size)
|
||||
return (memcpy(dst, src, size));
|
||||
|
@ -47,7 +47,7 @@ jit_memcpy(jit_pointer_t dst, jit_pointer_t src, jit_word_t size)
|
|||
}
|
||||
|
||||
jit_pointer_t
|
||||
jit_memmove(jit_pointer_t dst, jit_pointer_t src , jit_word_t size)
|
||||
jit_memmove(jit_pointer_t dst, jit_const_pointer_t src , jit_word_t size)
|
||||
{
|
||||
if (size)
|
||||
return (memmove(dst, src, size));
|
||||
|
|
|
@ -70,7 +70,7 @@ _jit_name(jit_state_t *_jit, char *name)
|
|||
}
|
||||
|
||||
jit_node_t *
|
||||
_jit_note(jit_state_t *_jit, char *name, int line)
|
||||
_jit_note(jit_state_t *_jit, const char *name, int line)
|
||||
{
|
||||
jit_node_t *node;
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
/*
|
||||
* Prototypes
|
||||
*/
|
||||
static jit_word_t hash_data(jit_pointer_t, jit_word_t);
|
||||
static jit_word_t hash_data(jit_const_pointer_t, jit_word_t);
|
||||
|
||||
#define new_pool() _new_pool(_jit)
|
||||
static void _new_pool(jit_state_t*);
|
||||
|
@ -536,9 +536,9 @@ _jit_load(jit_state_t *_jit, jit_int32_t reg)
|
|||
}
|
||||
|
||||
static jit_word_t
|
||||
hash_data(jit_pointer_t data, jit_word_t length)
|
||||
hash_data(jit_const_pointer_t data, jit_word_t length)
|
||||
{
|
||||
jit_uint8_t *ptr;
|
||||
const jit_uint8_t *ptr;
|
||||
jit_word_t i, key;
|
||||
for (i = key = 0, ptr = data; i < length; i++)
|
||||
key = (key << (key & 1)) ^ ptr[i];
|
||||
|
@ -558,7 +558,7 @@ _jit_address(jit_state_t *_jit, jit_node_t *node)
|
|||
}
|
||||
|
||||
jit_node_t *
|
||||
_jit_data(jit_state_t *_jit, jit_pointer_t data,
|
||||
_jit_data(jit_state_t *_jit, jit_const_pointer_t data,
|
||||
jit_word_t length, jit_int32_t align)
|
||||
{
|
||||
jit_word_t key;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue