* arm-dis.c (print_insn_arm): Constify "insn". Formatting.
authorAlan Modra <amodra@gmail.com>
Mon, 2 Dec 2002 13:13:37 +0000 (13:13 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 2 Dec 2002 13:13:37 +0000 (13:13 +0000)
(print_insn_thumb): Likewise.
* h8500-dis.c (print_insn_h8500): Constify "opcode".
* mcore-dis.c (print_insn_mcore): Constify "op".  Formatting.
* ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
type-punned pointer warnings.
<case 'L'>: Likewise.  Fix error message too.
* pdp11-dis.c (print_reg): Warning fix.
* sh-dis.c (print_movxy): Constify "op" param.
(print_insn_ddt): Constify sh_opcode_info vars.
(print_insn_ppi): Likewise.
(print_insn_sh): Likewise.
* tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
type-punned pointer warnings.
* w65-dis.c (print_insn_w65): Constify "op".

opcodes/ChangeLog
opcodes/arm-dis.c
opcodes/h8500-dis.c
opcodes/mcore-dis.c
opcodes/ns32k-dis.c
opcodes/pdp11-dis.c
opcodes/sh-dis.c
opcodes/tic30-dis.c
opcodes/w65-dis.c

index 72469fd7845e73bb48620422dfeaee3244f3d5d2..e038a9b0c78a30924bdf89412ac12b7b05b82737 100644 (file)
@@ -1,3 +1,21 @@
+2002-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * arm-dis.c (print_insn_arm): Constify "insn".  Formatting.
+       (print_insn_thumb): Likewise.
+       * h8500-dis.c (print_insn_h8500): Constify "opcode".
+       * mcore-dis.c (print_insn_mcore): Constify "op".  Formatting.
+       * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
+       type-punned pointer warnings.
+       <case 'L'>: Likewise.  Fix error message too.
+       * pdp11-dis.c (print_reg): Warning fix.
+       * sh-dis.c (print_movxy): Constify "op" param.
+       (print_insn_ddt): Constify sh_opcode_info vars.
+       (print_insn_ppi): Likewise.
+       (print_insn_sh): Likewise.
+       * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
+       type-punned pointer warnings.
+       * w65-dis.c (print_insn_w65): Constify "op".
+
 2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
 
        * m68hc11-dis.c (PC_REGNUM): Define.
index ff351d088f7abdf6a80d8a5efde210c37fe7c2d2..62a2a39ab62df8ef659ad71d8ffc58c31166eac9 100644 (file)
@@ -172,13 +172,13 @@ arm_decode_shift (given, func, stream)
 
 static int
 print_insn_arm (pc, info, given)
-     bfd_vma                   pc;
-     struct disassemble_info * info;
-     long                      given;
+     bfd_vma pc;
+     struct disassemble_info *info;
+     long given;
 {
-  struct arm_opcode *  insn;
-  void *               stream = info->stream;
-  fprintf_ftype        func   = info->fprintf_func;
+  const struct arm_opcode *insn;
+  void *stream = info->stream;
+  fprintf_ftype func   = info->fprintf_func;
 
   for (insn = arm_opcodes; insn->assembler; insn++)
     {
@@ -753,13 +753,13 @@ print_insn_arm (pc, info, given)
 
 static int
 print_insn_thumb (pc, info, given)
-     bfd_vma                   pc;
-     struct disassemble_info * info;
-     long                      given;
+     bfd_vma pc;
+     struct disassemble_info *info;
+     long given;
 {
-  struct thumb_opcode * insn;
-  void *                stream = info->stream;
-  fprintf_ftype         func = info->fprintf_func;
+  const struct thumb_opcode *insn;
+  void *stream = info->stream;
+  fprintf_ftype func = info->fprintf_func;
 
   for (insn = thumb_opcodes; insn->assembler; insn++)
     {
index 62371829e2bbcb89e523025fd8e4e8934b8b7412..5fa52fbf99e911b17a49811ba80fd25018a6b8f4 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassemble h8500 instructions.
-   Copyright 1993, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright 1993, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -78,7 +78,7 @@ print_insn_h8500 (addr, info)
      bfd_vma addr;
      disassemble_info *info;
 {
-  h8500_opcode_info *opcode;
+  const h8500_opcode_info *opcode;
   void *stream = info->stream;
   fprintf_ftype func = info->fprintf_func;
 
index ad453186dc440178eb3d9e90748e3773c926a970..ba33dd39118f22f127e0037496b0443f9df05adf 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassemble Motorola M*Core instructions.
-   Copyright 1993, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1993, 1999, 2000, 2002 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -89,12 +89,12 @@ print_insn_mcore (memaddr, info)
      bfd_vma memaddr;
      struct disassemble_info *info;
 {
-  unsigned char       ibytes[4];
-  fprintf_ftype       fprintf = info->fprintf_func;
-  void *              stream = info->stream;
-  unsigned short      inst;
-  mcore_opcode_info * op;
-  int                 status;
+  unsigned char ibytes[4];
+  fprintf_ftype fprintf = info->fprintf_func;
+  void *stream = info->stream;
+  unsigned short inst;
+  const mcore_opcode_info *op;
+  int status;
 
   info->bytes_per_chunk = 2;
 
@@ -128,19 +128,48 @@ print_insn_mcore (memaddr, info)
 
       switch (op->opclass)
        {
-       case O0: break;
-       case OT: fprintf (stream, "\t%d", inst & 0x3); break;
+       case O0:
+         break;
+
+       case OT:
+         fprintf (stream, "\t%d", inst & 0x3);
+         break;
+
        case O1:
        case JMP:
-       case JSR: fprintf (stream, "\t%s", name); break;
-       case OC:  fprintf (stream, "\t%s, %s", name, crname[(inst >> 4) & 0x1F]); break;
-       case O1R1: fprintf (stream, "\t%s, r1", name); break;
+       case JSR:
+         fprintf (stream, "\t%s", name);
+         break;
+
+       case OC:
+         fprintf (stream, "\t%s, %s", name, crname[(inst >> 4) & 0x1F]);
+         break;
+
+       case O1R1:
+         fprintf (stream, "\t%s, r1", name);
+         break;
+
        case MULSH:
-       case O2: fprintf (stream, "\t%s, %s", name, grname[(inst >> 4) & 0xF]); break;
-       case X1: fprintf (stream, "\tr1, %s", name); break;
-       case OI: fprintf (stream, "\t%s, %d", name, ((inst >> 4) & 0x1F) + 1); break;
-       case RM: fprintf (stream, "\t%s-r15, (r0)", name); break;
-       case RQ: fprintf (stream, "\tr4-r7, (%s)", name); break;
+       case O2:
+         fprintf (stream, "\t%s, %s", name, grname[(inst >> 4) & 0xF]);
+         break;
+
+       case X1:
+         fprintf (stream, "\tr1, %s", name);
+         break;
+
+       case OI:
+         fprintf (stream, "\t%s, %d", name, ((inst >> 4) & 0x1F) + 1);
+         break;
+
+       case RM:
+         fprintf (stream, "\t%s-r15, (r0)", name);
+         break;
+
+       case RQ:
+         fprintf (stream, "\tr4-r7, (%s)", name);
+         break;
+
        case OB:
        case OBRa:
        case OBRb:
@@ -149,10 +178,17 @@ print_insn_mcore (memaddr, info)
        case SIa:
        case OMa:
        case OMb:
-       case OMc: fprintf (stream, "\t%s, %d", name, (inst >> 4) & 0x1F); break;
-       case I7: fprintf (stream, "\t%s, %d", name, (inst >> 4) & 0x7F); break;
-       case LS: fprintf (stream, "\t%s, (%s, %d)", grname[(inst >> 8) & 0xF],
-                         name, ((inst >> 4) & 0xF) << isiz[(inst >> 13) & 3]);
+       case OMc:
+         fprintf (stream, "\t%s, %d", name, (inst >> 4) & 0x1F);
+         break;
+
+       case I7:
+         fprintf (stream, "\t%s, %d", name, (inst >> 4) & 0x7F);
+         break;
+
+       case LS:
+         fprintf (stream, "\t%s, (%s, %d)", grname[(inst >> 8) & 0xF],
+                  name, ((inst >> 4) & 0xF) << isiz[(inst >> 13) & 3]);
          break;
 
        case BR:
index 49facb358cec85f186b580c169dba8255fbeaedd..bc51dafeb6445a8eedd25e329c6d76ebcadc6c0f 100644 (file)
@@ -1,5 +1,5 @@
 /* Print National Semiconductor 32000 instructions.
-   Copyright 1986, 1988, 1991, 1992, 1994, 1998, 2001
+   Copyright 1986, 1988, 1991, 1992, 1994, 1998, 2001, 2002
    Free Software Foundation, Inc.
 
 This file is part of opcodes library.
@@ -556,10 +556,13 @@ print_insn_arg (d, ioffset, aoffsetp, buffer, addr, result, index_offset)
      char *result;
      int index_offset;
 {
-  int addr_mode;
-  float Fvalue;
-  double Lvalue;
+  union {
+    float f;
+    double d;
+    int i[2];
+  } value;
   int Ivalue;
+  int addr_mode;
   int disp1, disp2;
   int index;
   int size;
@@ -647,23 +650,23 @@ print_insn_arg (d, ioffset, aoffsetp, buffer, addr, result, index_offset)
              sprintf (result, "$%d", Ivalue);
              break;
            case 'F':
-             bit_copy (buffer, *aoffsetp, 32, (char *) &Fvalue);
-             flip_bytes ((char *) & Fvalue, 4);
+             bit_copy (buffer, *aoffsetp, 32, (char *) &value.f);
+             flip_bytes ((char *) &value.f, 4);
              *aoffsetp += 32;
-             if (INVALID_FLOAT (&Fvalue, 4))
-               sprintf (result, "<<invalid float 0x%.8x>>", *(int *) &Fvalue);
+             if (INVALID_FLOAT (&value.f, 4))
+               sprintf (result, "<<invalid float 0x%.8x>>", value.i[0]);
              else /* assume host has ieee float */
-               sprintf (result, "$%g", Fvalue);
+               sprintf (result, "$%g", value.f);
              break;
            case 'L':
-             bit_copy (buffer, *aoffsetp, 64, (char *) &Lvalue);
-             flip_bytes ((char *) & Lvalue, 8);
+             bit_copy (buffer, *aoffsetp, 64, (char *) &value.d);
+             flip_bytes ((char *) &value.d, 8);
              *aoffsetp += 64;
-             if (INVALID_FLOAT (&Lvalue, 8))
-               sprintf (result, "<<invalid long 0x%.8x%.8x>>",
-                        *(((int *) &Lvalue) + 1), *(int *) &Lvalue);
+             if (INVALID_FLOAT (&value.d, 8))
+               sprintf (result, "<<invalid double 0x%.8x%.8x>>",
+                        value.i[1], value.i[0]);
              else /* assume host has ieee float */
-               sprintf (result, "$%g", Lvalue);
+               sprintf (result, "$%g", value.d);
              break;
            }
          break;
index 507db93a6d98429061f155bc345d2b05ad997c28..4f5bf84aead8ad8af5451ed78bd20dc9ac73d87d 100644 (file)
@@ -84,7 +84,7 @@ print_reg (reg, info)
                FPRINTF (F, "r%d", reg); break;
     case 6:    FPRINTF (F, "sp"); break;
     case 7:    FPRINTF (F, "pc"); break;
-    default:   /* error */
+    default: ; /* error */
     }
 }
 
index c77b2fe9b021ab28946c93ed866f32506a5caad5..966a10eb712af1b8fb019d3dcc37c19c3570fdcc 100644 (file)
@@ -29,14 +29,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #endif
 
 static void print_movxy
-  PARAMS ((sh_opcode_info *, int, int, fprintf_ftype, void *));
+  PARAMS ((const sh_opcode_info *, int, int, fprintf_ftype, void *));
 static void print_insn_ddt PARAMS ((int, struct disassemble_info *));
 static void print_dsp_reg PARAMS ((int, fprintf_ftype, void *));
 static void print_insn_ppi PARAMS ((int, struct disassemble_info *));
 
 static void
 print_movxy (op, rn, rm, fprintf_fn, stream)
-     sh_opcode_info *op;
+     const sh_opcode_info *op;
      int rn, rm;
      fprintf_ftype fprintf_fn;
      void *stream;
@@ -105,8 +105,8 @@ print_insn_ddt (insn, info)
     fprintf_fn (stream, ".word 0x%x", insn);
   else
     {
-      static sh_opcode_info *first_movx, *first_movy;
-      sh_opcode_info *opx, *opy;
+      static const sh_opcode_info *first_movx, *first_movy;
+      const sh_opcode_info *opx, *opy;
       unsigned int insn_x, insn_y;
 
       if (! first_movx)
@@ -192,7 +192,7 @@ print_insn_ppi (field_b, info)
   void *stream = info->stream;
   unsigned int nib1, nib2, nib3;
   char *dc = NULL;
-  sh_opcode_info *op;
+  const sh_opcode_info *op;
 
   if ((field_b & 0xe800) == 0)
     {
@@ -298,7 +298,7 @@ print_insn_sh (memaddr, info)
   unsigned char nibs[4];
   int status;
   bfd_vma relmask = ~(bfd_vma) 0;
-  sh_opcode_info *op;
+  const sh_opcode_info *op;
   int target_arch;
 
   switch (info->mach)
index 67956f7a380a707fbc503e1db0cb668eb7b7be6e..f410d74fb2686f9eaa2f9dfb5c4091c618a339db 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassembly routines for TMS320C30 architecture
-   Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
    This program is free software; you can redistribute it and/or modify
@@ -663,6 +663,10 @@ cnvt_tmsfloat_ieee (tmsfloat, size, ieeefloat)
      float *ieeefloat;
 {
   unsigned long exp, sign, mant;
+  union {
+    unsigned long l;
+    float f;
+  } val;
 
   if (size == 2)
     {
@@ -705,6 +709,7 @@ cnvt_tmsfloat_ieee (tmsfloat, size, ieeefloat)
   if (tmsfloat == 0x80000000)
     sign = mant = exp = 0;
   tmsfloat = sign | exp | mant;
-  *ieeefloat = *((float *) &tmsfloat);
+  val.l = tmsfloat;
+  *ieeefloat = val.f;
   return 1;
 }
index 8e9c724b1fe2638f6f159d08b804018f8307b73a..3f2affa8082cb6b15f6700dbfdbab200f2fbf041 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassemble WDC 65816 instructions.
-   Copyright 1995, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright 1995, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -84,7 +84,7 @@ print_insn_w65 (memaddr, info)
 {
   int status = 0;
   unsigned char insn[4];
-  register struct opinfo *op;
+  const struct opinfo *op;
   int i;
   int X = 0;
   int M = 0;