]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - sim/m32c/srcdest.c
sim: overhaul & unify endian settings management
[thirdparty/binutils-gdb.git] / sim / m32c / srcdest.c
index 7bb5417f8d1500f881503dbb4bd802c1acb5ac9f..f3040c571e84893210f0475e331facd9585eb808 100644 (file)
@@ -1,7 +1,6 @@
 /* srcdest.c --- decoding M32C addressing modes.
 
-Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
-Free Software Foundation, Inc.
+Copyright (C) 2005-2021 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
@@ -19,10 +18,13 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* This must come before any other includes.  */
+#include "defs.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "libiberty.h"
 #include "cpu.h"
 #include "mem.h"
 
@@ -32,7 +34,7 @@ static int src_addend = 0;
 static int dest_addend = 0;
 
 static int
-disp8 ()
+disp8 (void)
 {
   int rv;
   int tsave = trace;
@@ -46,7 +48,7 @@ disp8 ()
 }
 
 static int
-disp16 ()
+disp16 (void)
 {
   int rv;
   int tsave = trace;
@@ -60,7 +62,7 @@ disp16 ()
 }
 
 static int
-disp24 ()
+disp24 (void)
 {
   int rv;
   int tsave = trace;
@@ -74,7 +76,7 @@ disp24 ()
 }
 
 static int
-disp20 ()
+disp20 (void)
 {
   return disp24 () & 0x000fffff;
 }
@@ -118,8 +120,6 @@ srcdest
 decode_srcdest4 (int destcode, int bw)
 {
   srcdest sd;
-  sd.bytes = bw ? 2 : 1;
-  sd.mem = (destcode >= 6) ? 1 : 0;
   static const char *dc_wnames[16] = { "r0", "r1", "r2", "r3",
     "a0", "a1", "[a0]", "[a1]",
     "disp8[a0]", "disp8[a1]", "disp8[sb]", "disp8[fb]",
@@ -127,6 +127,9 @@ decode_srcdest4 (int destcode, int bw)
   };
   static const char *dc_bnames[4] = { "r0l", "r0h", "r1l", "r1h" };;
 
+  sd.bytes = bw ? 2 : 1;
+  sd.mem = (destcode >= 6) ? 1 : 0;
+
   if (trace)
     {
       const char *n = dc_wnames[destcode];
@@ -200,8 +203,6 @@ srcdest
 decode_jumpdest (int destcode, int w)
 {
   srcdest sd;
-  sd.bytes = w ? 2 : 3;
-  sd.mem = (destcode >= 6) ? 1 : 0;
   static const char *dc_wnames[16] = { "r0", "r1", "r2", "r3",
     "a0", "a1", "[a0]", "[a1]",
     "disp8[a0]", "disp8[a1]", "disp8[sb]", "disp8[fb]",
@@ -209,6 +210,9 @@ decode_jumpdest (int destcode, int w)
   };
   static const char *dc_anames[4] = { "r0l", "r0h", "r1l", "r1h" };
 
+  sd.bytes = w ? 2 : 3;
+  sd.mem = (destcode >= 6) ? 1 : 0;
+
   if (trace)
     {
       const char *n = dc_wnames[destcode];
@@ -353,7 +357,7 @@ decode_sd23 (int bbb, int bb, int bytes, int ind, int add)
   srcdest sd;
   int code = (bbb << 2) | bb;
 
-  if (code >= sizeof (modes23) / sizeof (modes23[0]))
+  if (code >= ARRAY_SIZE (modes23))
     abort ();
 
   if (trace)