sim/rx: avoid pointer arithmetic on void * pointers

Pointer arithmetic on void * pointers results in a GCC warning.  Avoid
the warning by casting the pointer to its actual type earlier in the
function.

sim/rx/ChangeLog:

	* mem.c (mem_put_blk): Rename parameter, add cast from parameter
	type to local type.  Remove cast later in the function.
	(mem_get_blk): Likewise.
	* mem.h (mem_put_blk): Rename parameter to match definition.
	(mem_get_blk): Likewise.
This commit is contained in:
Andrew Burgess 2021-02-01 11:37:46 +00:00
parent fab2b376e3
commit da9ecd6085
3 changed files with 18 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
* mem.c (mem_put_blk): Rename parameter, add cast from parameter
type to local type. Remove cast later in the function.
(mem_get_blk): Likewise.
* mem.h (mem_put_blk): Rename parameter to match definition.
(mem_get_blk): Likewise.
2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
* load.c: Replace 'elf/internal.h' and 'elf/common.h' includes

View File

@ -434,13 +434,15 @@ mem_put_si (int address, unsigned long value)
}
void
mem_put_blk (int address, void *bufptr, int nbytes)
mem_put_blk (int address, void *bufptr_void, int nbytes)
{
unsigned char *bufptr = (unsigned char *) bufptr_void;
S ("<=");
if (enable_counting)
mem_counters[1][1] += nbytes;
while (nbytes--)
mem_put_byte (address++, *(unsigned char *) bufptr++);
mem_put_byte (address++, *bufptr++);
E ();
}
@ -567,13 +569,15 @@ mem_get_si (int address)
}
void
mem_get_blk (int address, void *bufptr, int nbytes)
mem_get_blk (int address, void *bufptr_void, int nbytes)
{
char *bufptr = (char *) bufptr_void;
S ("=>");
if (enable_counting)
mem_counters[0][1] += nbytes;
while (nbytes--)
*(char *) bufptr++ = mem_get_byte (address++);
*bufptr++ = mem_get_byte (address++);
E ();
}

View File

@ -53,7 +53,7 @@ void mem_put_hi (int address, unsigned short value);
void mem_put_psi (int address, unsigned long value);
void mem_put_si (int address, unsigned long value);
void mem_put_blk (int address, void *bufptr, int nbytes);
void mem_put_blk (int address, void *bufptr_void, int nbytes);
unsigned char mem_get_pc (int address);
@ -62,7 +62,7 @@ unsigned short mem_get_hi (int address);
unsigned long mem_get_psi (int address);
unsigned long mem_get_si (int address);
void mem_get_blk (int address, void *bufptr, int nbytes);
void mem_get_blk (int address, void *bufptr_void, int nbytes);
int sign_ext (int v, int bits);