sim: rl78: clean up various warnings
authorMike Frysinger <vapier@gentoo.org>
Wed, 5 May 2021 02:56:31 +0000 (22:56 -0400)
committerMike Frysinger <vapier@gentoo.org>
Wed, 5 May 2021 03:05:02 +0000 (23:05 -0400)
A random grab bag of minor fixes to enable -Werror for this port.

Fix local prototypes for a bunch of functions (e.g. adding static).
Add missing includes for missing prototypes.
Move local variable decls from the middle of functions to the top
of the scope.
Fix a logic error when processing commands where p was reassigned
to cmd and then has its leading whitespace scanned a 2nd time.
Handle short reads with fread().

sim/rl78/ChangeLog
sim/rl78/configure
sim/rl78/configure.ac
sim/rl78/cpu.c
sim/rl78/gdb-if.c
sim/rl78/mem.c
sim/rl78/mem.h
sim/rl78/rl78.c
sim/rl78/trace.c

index f0e1631d5e4873650f61d273edaffbd00c16e1c2..baaf6d8eae9e25aba6562a58d97facdd06daa12c 100644 (file)
@@ -1,3 +1,17 @@
+2021-05-04  Mike Frysinger  <vapier@gentoo.org>
+
+       * cpu.c (trace_register_init): Add missing (void).
+       * gdb-if.c (rl78_signal_to_target, handle_step): Mark static.
+       (sim_do_command): Delete redundant for loop.
+       * mem.c (mirror_rom_base, mirror_ram_base, mirror_length): Mark static.
+       * mem.h (mem_set_mirror): New prototype.
+       * rl78.c (op_flags): Move psw decl to top of scope.
+       * trace.c: Include trace.h.
+       (load_file_and_line): Move file decl to top of scope.  Declare ret.
+       assign fread to ret and use to index f->data.
+       * configure.ac: Delete SIM_AC_OPTION_WARNINGS call.
+       * configure: Regenerate.
+
 2021-05-04  Mike Frysinger  <vapier@gentoo.org>
 
        * configure: Regenerate.
index 59cb1ec2861a21e522e5986f7649347aa949bb6e..6e2076857ddee7a410e7127ff6a69293bf71bd85 100755 (executable)
@@ -11844,6 +11844,7 @@ _ACEOF
 
 
 
+
 # Check whether --enable-werror was given.
 if test "${enable_werror+set}" = set; then :
   enableval=$enable_werror; case "${enableval}" in
@@ -11860,6 +11861,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 \
@@ -11941,7 +11945,6 @@ $as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
 fi
 
 
-
 hardware="cfi core pal glue "
 sim_hw_cflags="-DWITH_HW=1"
 sim_hw="$hardware"
index 0e5f69c7065c3c2bccb4a6bcae7465934e39f21b..4f2c0ace70bbdd18f771374149d0926c4a60367a 100644 (file)
@@ -22,6 +22,5 @@ AC_INIT(Makefile.in)
 AC_CONFIG_MACRO_DIRS([../m4 ../.. ../../config])
 
 SIM_AC_COMMON
-SIM_AC_OPTION_WARNINGS(no)
 
 SIM_AC_OUTPUT
index a38d6f688aee7ba314cddb43c9edf24ce7c54473..fde8afee96b041ceb868d8dd783f6707c7ab5ea3 100644 (file)
@@ -51,7 +51,7 @@ typedef struct {
   unsigned char h;
 } RegBank;
 
-static void trace_register_init ();
+static void trace_register_init (void);
 
 /* This maps PSW to a pointer into memory[] */
 static RegBank *regbase_table[256];
index 56717917e55294e90b34d2849cbc7b9f46cf6f03..7119214113be21e93f0df8f52730443515080d95 100644 (file)
@@ -403,7 +403,7 @@ int siggnal;
 /* Given a signal number used by the rl78 bsp (that is, newlib),
    return the corresponding signal numbers.  */
 
-int
+static int
 rl78_signal_to_target (int sig)
 {
   switch (sig)
@@ -442,7 +442,7 @@ rl78_signal_to_target (int sig)
 /* Take a step return code RC and set up the variables consulted by
    sim_stop_reason appropriately.  */
 
-void
+static void
 handle_step (int rc)
 {
   if (RL78_STEPPED (rc) || RL78_HIT_BREAK (rc))
@@ -549,11 +549,6 @@ sim_do_command (SIM_DESC sd, const char *cmd)
       while (isspace (*p))
        p++;
 
-      /* Find the extent of the command word.  */
-      for (p = cmd; *p; p++)
-       if (isspace (*p))
-         break;
-
       /* Null-terminate the command word, and record the start of any
         further arguments.  */
       if (*p)
index 8527e02cba1e68755a36f4e901e2d391d27260bb..77e4987b6ff18048010403eeb18ffff939bc76b4 100644 (file)
@@ -63,9 +63,9 @@ mem_rom_size (int rom_bytes)
   rom_limit = rom_bytes;
 }
 
-int mirror_rom_base = 0x01000;
-int mirror_ram_base = 0xf1000;
-int mirror_length = 0x7000;
+static int mirror_rom_base = 0x01000;
+static int mirror_ram_base = 0xf1000;
+static int mirror_length = 0x7000;
 
 void
 mem_set_mirror (int rom_base, int ram_base, int length)
index f04b36aa8d368b56f7de3a829fd969b0b6eed532..77d2f18a786c36118e90da37c5fcf7cc51ddb8e4 100644 (file)
@@ -29,6 +29,8 @@ extern unsigned char memory[];
 
 void init_mem (void);
 
+void mem_set_mirror (int rom_base, int ram_base, int length);
+
 /* Pass the amount of bytes, like 2560 for 2.5k  */
 void mem_ram_size (int ram_bytes);
 void mem_rom_size (int rom_bytes);
index a969845c5f9747d7a385973867685fdbbeca7212..006691c4c0afbb01df174b68d825030aed72615b 100644 (file)
@@ -249,6 +249,7 @@ static void
 op_flags (int before, int after, int mask, RL78_Size size)
 {
   int vmask, cmask, amask, avmask;
+  int psw;
 
   if (size == RL78_Word)
     {
@@ -265,7 +266,7 @@ op_flags (int before, int after, int mask, RL78_Size size)
       avmask = 0x0f;
     }
 
-  int psw = get_reg (RL78_Reg_PSW);
+  psw = get_reg (RL78_Reg_PSW);
   psw &= ~mask;
 
   if (mask & RL78_PSW_CY)
index b30ec2ae84157e20d36eb438f2830af2feb760a3..6f897eb03393e498eb748df7ddee248b8e4fece6 100644 (file)
@@ -36,6 +36,7 @@
 #include "cpu.h"
 #include "mem.h"
 #include "load.h"
+#include "trace.h"
 
 static disassembler_ftype rl78_disasm_fn = NULL;
 
@@ -138,6 +139,8 @@ load_file_and_line (const char *filename, int lineno)
       int i;
       struct stat s;
       const char *found_filename, *slash;
+      FILE *file;
+      size_t ret;
 
       found_filename = filename;
       while (1)
@@ -155,9 +158,9 @@ load_file_and_line (const char *filename, int lineno)
       files = f;
       f->filename = xstrdup (filename);
       f->data = (char *) xmalloc (s.st_size + 2);
-      FILE *file = fopen (found_filename, "rb");
-      fread (f->data, 1, s.st_size, file);
-      f->data[s.st_size] = 0;
+      file = fopen (found_filename, "rb");
+      ret = fread (f->data, 1, s.st_size, file);
+      f->data[ret] = 0;
       fclose (file);
 
       f->nlines = 1;