sim: d10v: fix build warnings

The printf fix uses our PRIxTA for our sim address type.

Then cast away the const (since the underlying code safely treats it
as such) even if it's ugly.

Finally touch up the argv iterator pointer to match the new func arg.

With this tidied up, we can delete the SIM_AC_OPTION_WARNINGS(no) call
to get the default common behavior where -Werror is enabled.
This commit is contained in:
Mike Frysinger 2021-04-18 21:13:34 -04:00
parent 3912a8db68
commit d3b0ab8b36
4 changed files with 17 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2021-04-18 Mike Frysinger <vapier@gentoo.org>
* interp.c (xfer_mem): Use PRIxTA for printf format.
(sim_write): Cast buffer to (void *).
(sim_open): Add const to p.
* configure.ac (SIM_AC_OPTION_WARNINGS): Delete call.
* configure: Regenerate.
2021-04-12 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_open): Delete 3rd arg to sim_cpu_alloc_all.

5
sim/d10v/configure vendored
View File

@ -11978,6 +11978,7 @@ fi
fi
# Check whether --enable-werror was given.
if test "${enable_werror+set}" = set; then :
enableval=$enable_werror; case "${enableval}" in
@ -11994,6 +11995,9 @@ if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
fi
WERROR_CFLAGS=""
if test "${ERROR_ON_WARNING}" = yes ; then
WERROR_CFLAGS="-Werror"
fi
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
-Wpointer-sign \
@ -12075,7 +12079,6 @@ $as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
fi
cgen_breaks=""
if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
cgen_breaks="break cgen_rtx_error";

View File

@ -6,6 +6,5 @@ SIM_AC_COMMON
SIM_AC_OPTION_ENDIAN
SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
SIM_AC_OPTION_WARNINGS(no)
SIM_AC_OUTPUT

View File

@ -678,7 +678,7 @@ xfer_mem (SIM_DESC sd,
{
sim_io_printf
(sd,
"sim_%s %d bytes: 0x%08lx (%s) -> 0x%08lx (%s) -> 0x%08lx (%s)\n",
"sim_%s %d bytes: 0x%08" PRIxTA " (%s) -> 0x%08lx (%s) -> 0x%08lx (%s)\n",
write_p ? "write" : "read",
phys_size, virt, last_from,
phys, last_to,
@ -703,7 +703,9 @@ int
sim_write (SIM_DESC sd, SIM_ADDR addr, const unsigned char *buffer, int size)
{
/* FIXME: this should be performing a virtual transfer */
return xfer_mem (sd, addr, buffer, size, 1);
/* FIXME: We cast the const away, but it's safe because xfer_mem only reads
when write_p==1. This is still ugly. */
return xfer_mem (sd, addr, (void *) buffer, size, 1);
}
int
@ -745,7 +747,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
struct simops *s;
struct hash_entry *h;
static int init_p = 0;
char **p;
char * const *p;
int i;
SIM_DESC sd = sim_state_alloc (kind, cb);
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);