]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - opcodes/cris-dis.c
Imported binutils-2.20
[msp430-binutils.git] / opcodes / cris-dis.c
index 64e55e239ab0f9a0f22f46a1fecbf434aa96b1cf..01ada9d8f977a2976564239c049495ba303c1da7 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassembler code for CRIS.
-   Copyright 2000, 2001, 2002, 2004, 2005, 2006, 2007
+   Copyright 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Contributed by Axis Communications AB, Lund, Sweden.
    Written by Hans-Peter Nilsson.
@@ -581,7 +581,10 @@ static char *
 format_dec (long number, char *outbuffer, int signedp)
 {
   last_immediate = number;
-  sprintf (outbuffer, signedp ? "%ld" : "%lu", number);
+  if (signedp)
+    sprintf (outbuffer, "%ld", number);
+  else
+    sprintf (outbuffer, "%lu", (unsigned long) number);
 
   return outbuffer + strlen (outbuffer);
 }
@@ -657,17 +660,17 @@ bytes_to_skip (unsigned int insn,
 {
   /* Each insn is a word plus "immediate" operands.  */
   unsigned to_skip = 2;
-  const char *template = matchedp->args;
+  const char *template_name = (const char *) matchedp->args;
   const char *s;
 
-  for (s = template; *s; s++)
+  for (s = template_name; *s; s++)
     if ((*s == 's' || *s == 'N' || *s == 'Y')
        && (insn & 0x400) && (insn & 15) == 15
        && prefix_matchedp == NULL)
       {
        /* Immediate via [pc+], so we have to check the size of the
           operand.  */
-       int mode_size = 1 << ((insn >> 4) & (*template == 'z' ? 1 : 3));
+       int mode_size = 1 << ((insn >> 4) & (*template_name == 'z' ? 1 : 3));
 
        if (matchedp->imm_oprnd_size == SIZE_FIX_32)
          to_skip += 4;