* config/tc-tic30.c: #include stdarg.h or varargs.h.
authorAlan Modra <amodra@gmail.com>
Thu, 12 Dec 2002 21:34:53 +0000 (21:34 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 12 Dec 2002 21:34:53 +0000 (21:34 +0000)
(debug): Rewrite using VA_* macros.
(md_estimate_size_before_relax): Add ATTRIBUTE_UNUSED to args.
(md_convert_frag): Likewise.
(md_parse_option): Likewise.
(md_show_usage): Likewise.
(md_undefined_symbol): Likewise.
(tc_gen_reloc): Likewise.
(md_operand): Likewise.
(tc_aout_pre_write_hook): Delete.
(struct tic30_insn): Make "operands" unsigned.
(struct tic30_par_insn): Likewise.
(md_assemble): Likewise for "count", "i" and "numops".
(tic30_parallel_insn): Likewise for vars here.
(tic30_operand): Likewise.  Remove useless unsigned >= 0 comparison.
* config/tc-tic30.h (tc_aout_pre_write_hook): Define as empty.
* config/tc-tic80.c (obj_coff_section): Delete declaration.
(md_estimate_size_before_relax): Add ATTRIBUTE_UNUSED on args.
(md_undefined_symbol): Likewise.
(md_parse_option): Likewise.
(md_convert_frag): Likewise.
(tc_coff_symbol_emit_hook): Likewise.
(md_atof): Remove declaration of atof_ieee.
(const_overflow): Warning fixes, tidy.
(get_operands): Delete unused vars.
(internal_error_a): Adjust format string to expect a long for arg.
(find_opcode): Warning fixes, simplify.
(build_insn): Cast internal_error_a arg.
(md_begin): Likewise.
(md_apply_fix3): Likewise.
(md_assemble): Delete unused var.
* config/tc-tic80.h (tc_coff_fix2rtype): Prototype.

gas/ChangeLog
gas/config/tc-tic30.c
gas/config/tc-tic30.h
gas/config/tc-tic80.c
gas/config/tc-tic80.h

index 3ffb9ca16b346695d8c909516cc13cb6358adcf8..a026f92c4fdfd609eb68cf76667576ecb26e7043 100644 (file)
@@ -1,5 +1,37 @@
 2002-12-13  Alan Modra  <amodra@bigpond.net.au>
 
+       * config/tc-tic30.c: #include stdarg.h or varargs.h.
+       (debug): Rewrite using VA_* macros.
+       (md_estimate_size_before_relax): Add ATTRIBUTE_UNUSED to args.
+       (md_convert_frag): Likewise.
+       (md_parse_option): Likewise.
+       (md_show_usage): Likewise.
+       (md_undefined_symbol): Likewise.
+       (tc_gen_reloc): Likewise.
+       (md_operand): Likewise.
+       (tc_aout_pre_write_hook): Delete.
+       (struct tic30_insn): Make "operands" unsigned.
+       (struct tic30_par_insn): Likewise.
+       (md_assemble): Likewise for "count", "i" and "numops".
+       (tic30_parallel_insn): Likewise for vars here.
+       (tic30_operand): Likewise.  Remove useless unsigned >= 0 comparison.
+       * config/tc-tic30.h (tc_aout_pre_write_hook): Define as empty.
+       * config/tc-tic80.c (obj_coff_section): Delete declaration.
+       (md_estimate_size_before_relax): Add ATTRIBUTE_UNUSED on args.
+       (md_undefined_symbol): Likewise.
+       (md_parse_option): Likewise.
+       (md_convert_frag): Likewise.
+       (tc_coff_symbol_emit_hook): Likewise.
+       (md_atof): Remove declaration of atof_ieee.
+       (const_overflow): Warning fixes, tidy.
+       (get_operands): Delete unused vars.
+       (internal_error_a): Adjust format string to expect a long for arg.
+       (find_opcode): Warning fixes, simplify.
+       (build_insn): Cast internal_error_a arg.
+       (md_begin): Likewise.
+       (md_apply_fix3): Likewise.
+       (md_assemble): Delete unused var.
+       * config/tc-tic80.h (tc_coff_fix2rtype): Prototype.
        * config/tc-z8k.c (cons, obj_coff_section): Delete declarations.
        (whatreg, parse_reg, parse_exp): Make static, prototype.
        (checkfor, regword, regaddr, get_ctrl_operand): Prototype.
index a4e90c04c07fd8462ea3e73176ce1c807231ad88..c600e9204ce0a051764eb01843734fc167e17e69 100644 (file)
 #include "as.h"
 #include "safe-ctype.h"
 #include "opcode/tic30.h"
+#ifdef ANSI_PROTOTYPES
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
 
 /* Put here all non-digit non-letter charcters that may occur in an
    operand.  */
@@ -77,53 +82,27 @@ const pseudo_typeS md_pseudo_table[] = {
   {0, 0, 0}
 };
 
-#ifdef USE_STDARG
-
-#include <stdarg.h>
+int debug PARAMS ((const char *string, ...));
 
 int
-debug (const char *string, ...)
+debug VPARAMS ((const char *string, ...))
 {
   if (flag_debug)
     {
-      va_list argptr;
       char str[100];
 
-      va_start (argptr, string);
+      VA_OPEN (argptr, string);
+      VA_FIXEDARG (argptr, const char *, string);
       vsprintf (str, string, argptr);
+      VA_CLOSE (argptr);
       if (str[0] == '\0')
        return (0);
-      va_end (argptr);
       fputs (str, USE_STDOUT ? stdout : stderr);
       return strlen (str);
     }
   else
     return 0;
 }
-#else
-int
-debug (string, va_alist)
-     const char *string;
-     va_dcl
-{
-  if (flag_debug)
-    {
-      va_list argptr;
-      char str[100];
-      int cnt;
-
-      va_start (argptr, string);
-      cnt = vsprintf (str, string, argptr);
-      if (str[0] == NULL)
-       return (0);
-      va_end (argptr);
-      fputs (str, USE_STDOUT ? stdout : stderr);
-      return (cnt);
-    }
-  else
-    return 0;
-}
-#endif
 
 /* hash table for opcode lookup */
 static struct hash_control *op_hash;
@@ -263,7 +242,7 @@ template *opcode;
 struct tic30_insn {
   template *tm;                        /* Template of current instruction */
   unsigned opcode;             /* Final opcode */
-  int operands;                        /* Number of given operands */
+  unsigned int operands;       /* Number of given operands */
   /* Type of operand given in instruction */
   operand *operand_type[MAX_OPERANDS];
   unsigned addressing_mode;    /* Final addressing mode of instruction */
@@ -280,7 +259,7 @@ md_assemble (line)
   char *current_posn;
   char *token_start;
   char save_char;
-  int count;
+  unsigned int count;
 
   debug ("In md_assemble() with argument %s\n", line);
   memset (&insn, '\0', sizeof (insn));
@@ -426,8 +405,8 @@ md_assemble (line)
   /* Check that number of operands is correct */
   if (insn.operands != insn.tm->operands)
     {
-      int i;
-      int numops = insn.tm->operands;
+      unsigned int i;
+      unsigned int numops = insn.tm->operands;
       /* If operands are not the same, then see if any of the operands are not
          required.  Then recheck with number of given operands.  If they are still not
          the same, then give an error, otherwise carry on.  */
@@ -787,7 +766,7 @@ md_assemble (line)
     }
   debug ("Addressing mode: %08X\n", insn.addressing_mode);
   {
-    int i;
+    unsigned int i;
     for (i = 0; i < insn.operands; i++)
       {
        if (insn.operand_type[i]->immediate.label)
@@ -801,7 +780,7 @@ md_assemble (line)
 
 struct tic30_par_insn {
   partemplate *tm;             /* Template of current parallel instruction */
-  int operands[2];             /* Number of given operands for each insn */
+  unsigned operands[2];                /* Number of given operands for each insn */
   /* Type of operand given in instruction */
   operand *operand_type[2][MAX_OPERANDS];
   int swap_operands;           /* Whether to swap operands around.  */
@@ -838,7 +817,7 @@ tic30_parallel_insn (char *token)
        {0};
        char second_opcode[6] =
        {0};
-       int i;
+       unsigned int i;
        int current_opcode = -1;
        int char_ptr = 0;
 
@@ -1012,7 +991,7 @@ tic30_parallel_insn (char *token)
     int num_ind = 0;
     for (count = 0; count < 2; count++)
       {
-       int i;
+       unsigned int i;
        for (i = 0; i < p_insn.operands[count]; i++)
          {
            if ((p_insn.operand_type[count][i]->op_type &
@@ -1193,7 +1172,7 @@ tic30_parallel_insn (char *token)
     md_number_to_chars (p, (valueT) p_insn.opcode, INSN_SIZE);
   }
   {
-    int i, j;
+    unsigned int i, j;
     for (i = 0; i < 2; i++)
       for (j = 0; j < p_insn.operands[i]; j++)
        free (p_insn.operand_type[i][j]);
@@ -1207,7 +1186,7 @@ operand *
 tic30_operand (token)
      char *token;
 {
-  int count;
+  unsigned int count;
   char ind_buffer[strlen (token)];
   operand *current_op;
 
@@ -1411,7 +1390,7 @@ tic30_operand (token)
              current_op->immediate.resolved = 1;
            }
          current_op->op_type = Disp | Abs24 | Imm16 | Imm24;
-         if (current_op->immediate.u_number >= 0 && current_op->immediate.u_number <= 31)
+         if (current_op->immediate.u_number <= 31)
            current_op->op_type |= IVector;
        }
     }
@@ -1540,8 +1519,8 @@ tic30_unrecognized_line (c)
 
 int
 md_estimate_size_before_relax (fragP, segment)
-     fragS *fragP;
-     segT segment;
+     fragS *fragP ATTRIBUTE_UNUSED;
+     segT segment ATTRIBUTE_UNUSED;
 {
   debug ("In md_estimate_size_before_relax()\n");
   return 0;
@@ -1549,9 +1528,9 @@ md_estimate_size_before_relax (fragP, segment)
 
 void
 md_convert_frag (abfd, sec, fragP)
-     bfd *abfd;
-     segT sec;
-     register fragS *fragP;
+     bfd *abfd ATTRIBUTE_UNUSED;
+     segT sec ATTRIBUTE_UNUSED;
+     register fragS *fragP ATTRIBUTE_UNUSED;
 {
   debug ("In md_convert_frag()\n");
 }
@@ -1588,8 +1567,8 @@ md_apply_fix3 (fixP, valP, seg)
 
 int
 md_parse_option (c, arg)
-     int c;
-     char *arg;
+     int c ATTRIBUTE_UNUSED;
+     char *arg ATTRIBUTE_UNUSED;
 {
   debug ("In md_parse_option()\n");
   return 0;
@@ -1597,14 +1576,14 @@ md_parse_option (c, arg)
 
 void
 md_show_usage (stream)
-     FILE *stream;
+     FILE *stream ATTRIBUTE_UNUSED;
 {
   debug ("In md_show_usage()\n");
 }
 
 symbolS *
 md_undefined_symbol (name)
-     char *name;
+     char *name ATTRIBUTE_UNUSED;
 {
   debug ("In md_undefined_symbol()\n");
   return (symbolS *) 0;
@@ -1800,7 +1779,7 @@ md_number_to_chars (buf, val, n)
 
 arelent *
 tc_gen_reloc (section, fixP)
-     asection *section;
+     asection *section ATTRIBUTE_UNUSED;
      fixS *fixP;
 {
   arelent *rel;
@@ -1842,15 +1821,9 @@ tc_gen_reloc (section, fixP)
   return rel;
 }
 
-void
-tc_aout_pre_write_hook ()
-{
-  debug ("In tc_aout_pre_write_hook()\n");
-}
-
 void
 md_operand (expressionP)
-     expressionS *expressionP;
+     expressionS *expressionP ATTRIBUTE_UNUSED;
 {
   debug ("In md_operand()\n");
 }
index d55c8702cfe85e4c30d084dff97a6df24ac79f83..522892183f3d03726f0ad1f597b357410b623b2e 100644 (file)
@@ -52,4 +52,6 @@ char *output_invalid PARAMS ((int c));
 
 extern int tic30_unrecognized_line PARAMS ((int));
 
+#define tc_aout_pre_write_hook {}
+
 #endif
index c34a5e107a82eaa78b524f9d49ee960fba959d45..0ec638228b58c00cf05854c7621b75eaa3c5ab56 100644 (file)
@@ -26,7 +26,7 @@
   as_fatal (_("internal error:%s:%d: %s\n"), __FILE__, __LINE__, what)
 
 #define internal_error_a(what,arg) \
-  as_fatal (_("internal error:%s:%d: %s %d\n"), __FILE__, __LINE__, what, arg)
+  as_fatal (_("internal error:%s:%d: %s %ld\n"), __FILE__, __LINE__, what, arg)
 \f
 /* Generic assembler global variables which must be defined by all
    targets.  */
@@ -57,8 +57,6 @@ const char FLT_CHARS[] = "fF";
    function to call to execute this pseudo-op
    integer arg to pass to the function  */
 
-extern void obj_coff_section ();
-
 const pseudo_typeS md_pseudo_table[] = {
   { "align",   s_align_bytes,          4 },    /* Do byte alignment, default is a 4 byte boundary  */
   { "word",    cons,                   4 },    /* FIXME: Should this be machine independent?  */
@@ -85,8 +83,8 @@ static int tic80_relax = 0;
 \f
 int
 md_estimate_size_before_relax (fragP, segment_type)
-     fragS *fragP;
-     segT segment_type;
+     fragS *fragP ATTRIBUTE_UNUSED;
+     segT segment_type ATTRIBUTE_UNUSED;
 {
   internal_error (_("Relaxation is a luxury we can't afford"));
   return (-1);
@@ -96,7 +94,7 @@ md_estimate_size_before_relax (fragP, segment_type)
 
 symbolS *
 md_undefined_symbol (name)
-     char *name;
+     char *name ATTRIBUTE_UNUSED;
 {
   return 0;
 }
@@ -118,7 +116,6 @@ md_atof (type, litP, sizeP)
   LITTLENUM_TYPE words[MAX_LITTLENUMS];
   LITTLENUM_TYPE *wordP;
   char *t;
-  char *atof_ieee ();
 
   switch (type)
     {
@@ -170,20 +167,21 @@ const_overflow (num, bits, flags)
   int retval = 0;
 
   /* Only need to check fields less than 32 bits wide.  */
-  if (bits < 32)
-    if (flags & TIC80_OPERAND_SIGNED)
-      {
-       max = (1 << (bits - 1)) - 1;
-       min = - (1 << (bits - 1));
-       retval = ((long) num > max) || ((long) num < min);
-      }
-    else
-      {
-       max = (1 << bits) - 1;
-       min = 0;
-       retval = (num > max) || (num < min);
-      }
-  return (retval);
+  if (bits >= 32)
+    return retval;
+
+  if (flags & TIC80_OPERAND_SIGNED)
+    {
+      max = (1 << (bits - 1)) - 1;
+      min = - (1 << (bits - 1));
+      retval = (long) num > max || (long) num < min;
+    }
+  else
+    {
+      max = (1 << bits) - 1;
+      retval = num > (unsigned long) max;
+    }
+  return retval;
 }
 
 /* get_operands () parses a string of operands and fills in a passed
@@ -201,8 +199,6 @@ get_operands (exp)
 {
   char *p = input_line_pointer;
   int numexp = 0;
-  int mflag = 0;
-  int sflag = 0;
   int parens = 0;
 
   while (*p)
@@ -426,9 +422,9 @@ find_opcode (opcode, myops)
                 expression that supplies additional information about
                 the operand, such as ":m" or ":s" modifiers. Check to
                 see that the operand matches this requirement.  */
-             if (!((num & TIC80_OPERAND_M_SI) && (flags & TIC80_OPERAND_M_SI)
-                   || (num & TIC80_OPERAND_M_LI) && (flags & TIC80_OPERAND_M_LI)
-                   || (num & TIC80_OPERAND_SCALED) && (flags & TIC80_OPERAND_SCALED)))
+             if (!((num & flags & TIC80_OPERAND_M_SI)
+                   || (num & flags & TIC80_OPERAND_M_LI)
+                   || (num & flags & TIC80_OPERAND_SCALED)))
                {
                  match = 0;
                }
@@ -465,7 +461,7 @@ find_opcode (opcode, myops)
            case O_logical_or:
            case O_max:
            default:
-             internal_error_a (_("unhandled expression type"), X_op);
+             internal_error_a (_("unhandled expression type"), (long) X_op);
            }
        }
       if (!match)
@@ -709,7 +705,7 @@ build_insn (opcode, opers)
          else
            {
              internal_error_a (_("unhandled operand modifier"),
-                               opers[expi].X_add_number);
+                               (long) opers[expi].X_add_number);
            }
          break;
        case O_big:
@@ -750,7 +746,7 @@ build_insn (opcode, opers)
        case O_logical_or:
        case O_max:
        default:
-         internal_error_a (_("unhandled expression"), X_op);
+         internal_error_a (_("unhandled expression"), (long) X_op);
          break;
        }
     }
@@ -779,7 +775,6 @@ md_assemble (str)
   unsigned char *input_line_save;
   struct tic80_opcode *opcode;
   expressionS myops[16];
-  unsigned long insn;
 
   /* Ensure there is something there to assemble.  */
   assert (str);
@@ -890,7 +885,8 @@ md_begin ()
          valu = PDS_VALUE (pdsp) & ~TIC80_OPERAND_MASK;
          break;
        default:
-         internal_error_a (_("unhandled predefined symbol bits"), symtype);
+         internal_error_a (_("unhandled predefined symbol bits"),
+                           (long) symtype);
          break;
        }
       symbol_table_insert (symbol_create (PDS_NAME (pdsp), segment, valu,
@@ -925,7 +921,7 @@ size_t md_longopts_size = sizeof (md_longopts);
 int
 md_parse_option (c, arg)
      int c;
-     char *arg;
+     char *arg ATTRIBUTE_UNUSED;
 {
   switch (c)
     {
@@ -1000,7 +996,7 @@ md_apply_fix3 (fixP, valP, seg)
       break;
     default:
       internal_error_a (_("unhandled relocation type in fixup"),
-                       fixP->fx_r_type);
+                       (long) fixP->fx_r_type);
       break;
     }
 
@@ -1034,9 +1030,9 @@ md_pcrel_from (fixP)
 
 void
 md_convert_frag (headers, seg, fragP)
-     object_headers *headers;
-     segT seg;
-     fragS *fragP;
+     object_headers *headers ATTRIBUTE_UNUSED;
+     segT seg ATTRIBUTE_UNUSED;
+     fragS *fragP ATTRIBUTE_UNUSED;
 {
   internal_error (_("md_convert_frag() not implemented yet"));
   abort ();
@@ -1044,7 +1040,7 @@ md_convert_frag (headers, seg, fragP)
 \f
 void
 tc_coff_symbol_emit_hook (ignore)
-     symbolS *ignore;
+     symbolS *ignore ATTRIBUTE_UNUSED;
 {
 }
 
index 482d7d6ad3a07bf6831ab0b231b2d44116037eaf..4fd704b3265ae2d193e16dfcb274f0f7105e56e5 100644 (file)
@@ -56,6 +56,6 @@
 
 #define TC_COFF_FIX2RTYPE(fixP) tc_coff_fix2rtype(fixP)
 
-extern short tc_coff_fix2rtype ();
+extern short tc_coff_fix2rtype PARAMS ((struct fix *));
 
 #endif /* OBJ_COFF */