regmove.c (replace_in_call_usage): Fix warnings.
authorJan van Male <jan.vanmale@fenk.wau.nl>
Tue, 10 Jul 2001 10:38:10 +0000 (12:38 +0200)
committerAndreas Jaeger <aj@gcc.gnu.org>
Tue, 10 Jul 2001 10:38:10 +0000 (12:38 +0200)
2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
* regmove.c (replace_in_call_usage): Fix warnings.
* sched-deps.c (add_dependence): Fix warnings.
* simplify-rtx.c (simplify_subreg): Likewise.
Return NULL_RTX instead of NULL.

* reg-stack.c (emit_swap_insn): Eliminate warnings.
(subst_asm_stack_regs): Likewise.

* combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
warnings.

* dwarf2out.c (output_call_frame_info): Declare i as int.
(build_abbrev_table): Declare n_alloc as int.
(dwarf2out_finish): Initialize die.
* except.c: Declare sjlj_funcdef_number as unsigned.
(connect_post_landing_pads): Declare j as unsigned.
(convert_to_eh_region_ranges): Initialize call_site.
(output_function_exception_table): Initialize tt_format_size.
* expr.c (move_by_pieces_1): Initialize to1.
(store_constructor): Initialize minelt and maxelt.
* flow.c (mark_regs_live_at_end): Declare i as unsigned.
* function.c (instantiate_decls): Avoid signed/unsigned warning.

* c-decl.c (combine_parm_decls): Unused, remove.
* c-tree.h: Remove prototype for combine_parm_decls.

* reload.c (push_reload): Fix warning.
(regno_clobbered_p): Likewise.
* reload1.c (replace_pseudos_in_call_usage): Likewise.
(reload_combine): Likewise.

* bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
* bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
warnings.
* bitmap.c (bitmap_operation): Change user.
* bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
For cp/:
2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>

* call.c (build_op_delete_call): Initialize fn.
(convert_like_real): Delete conditional.
(joust): Initialize *w and *l.
* class.c: Add prototype for binfo_ctor_vtable.
(get_primary_binfo): Initialize result.
* init.c (build_java_class_ref): Initialize name.

* typeck.c (unary_complex_lvalue): Do not duplicate the
argument to modify, pre-, or post-increment when used as an
lvalue and when the argument has side-effects.

For ch/:
2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>

* ch-tree.h: Remove prototype for combine_parm_decls, unused
function.

From-SVN: r43893

20 files changed:
gcc/bitmap.c
gcc/bitmap.h
gcc/c-decl.c
gcc/c-tree.h
gcc/ch/ch-tree.h
gcc/combine.c
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/init.c
gcc/dwarf2out.c
gcc/except.c
gcc/expr.c
gcc/flow.c
gcc/function.c
gcc/reg-stack.c
gcc/regmove.c
gcc/reload.c
gcc/reload1.c
gcc/sched-deps.c
gcc/simplify-rtx.c

index ee068c6f8a38c0b8f2b6d183080395ef7f640ca7..055024e36676ac8d6606f70d6d5e9ef399805f83 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions to support general ended bitmaps.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -38,7 +38,7 @@ static int bitmap_obstack_init = FALSE;
 #endif
 
 /* Global data */
-bitmap_element bitmap_zero;            /* An element of all zero bits. */
+bitmap_element bitmap_zero_bits;       /* An element of all zero bits. */
 bitmap_element *bitmap_free;           /* Freelist of bitmap elements. */
 
 static void bitmap_element_free                PARAMS ((bitmap, bitmap_element *));
@@ -572,14 +572,14 @@ bitmap_operation (to, from1, from2, operation)
        {
          indx = indx1;
          from1_tmp = from1_ptr;
-         from2_tmp = &bitmap_zero;
+         from2_tmp = &bitmap_zero_bits;
          from1_ptr = from1_ptr->next;
          indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
        }
       else
        {
          indx = indx2;
-         from1_tmp = &bitmap_zero;
+         from1_tmp = &bitmap_zero_bits;
          from2_tmp = from2_ptr;
          from2_ptr = from2_ptr->next;
          indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
index 58e14ee08c5d600a2f21ad6e83414e1976490af8..42b5493c2871cf49f5070bf97be2ae16ed782045 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions to support general ended bitmaps.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -66,7 +66,7 @@ enum bitmap_bits {
 
 /* Global data */
 extern bitmap_element *bitmap_free;    /* Freelist of bitmap elements */
-extern bitmap_element bitmap_zero;     /* Zero bitmap element */
+extern bitmap_element bitmap_zero_bits;        /* Zero bitmap element */
 
 /* Clear a bitmap by freeing up the linked list.  */
 extern void bitmap_clear PARAMS ((bitmap));
@@ -247,7 +247,7 @@ do {                                                                        \
        ptr2_ = ptr2_->next;                                            \
                                                                        \
       tmp2_ = ((ptr2_ != 0 && ptr2_->indx == ptr1_->indx)              \
-              ? ptr2_ : &bitmap_zero);                                 \
+              ? ptr2_ : &bitmap_zero_bits);                            \
                                                                        \
       for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++)            \
        {                                                               \
index 9d67d342b5eb10e4e7ffc4e462fda4dce84e6633..dc100db5ad4ae6bbf9a2c6158be8508bee9930d1 100644 (file)
@@ -6569,149 +6569,6 @@ store_parm_decls ()
   cfun->x_dont_save_pending_sizes_p = 1;
 }
 \f
-/* SPECPARMS is an identifier list--a chain of TREE_LIST nodes
-   each with a parm name as the TREE_VALUE.  A null pointer as TREE_VALUE
-   stands for an ellipsis in the identifier list.
-
-   PARMLIST is the data returned by get_parm_info for the
-   parmlist that follows the semicolon.
-
-   We return a value of the same sort that get_parm_info returns,
-   except that it describes the combination of identifiers and parmlist.  */
-
-tree
-combine_parm_decls (specparms, parmlist, void_at_end)
-     tree specparms, parmlist;
-     int void_at_end;
-{
-  register tree fndecl = current_function_decl;
-  register tree parm;
-
-  tree parmdecls = TREE_PURPOSE (parmlist);
-
-  /* This is a chain of any other decls that came in among the parm
-     declarations.  They were separated already by get_parm_info,
-     so we just need to keep them separate.  */
-  tree nonparms = TREE_VALUE (parmlist);
-
-  tree types = 0;
-
-  for (parm = parmdecls; parm; parm = TREE_CHAIN (parm))
-    DECL_WEAK (parm) = 0;
-
-  for (parm = specparms; parm; parm = TREE_CHAIN (parm))
-    {
-      register tree tail, found = NULL;
-
-      /* See if any of the parmdecls specifies this parm by name.  */
-      for (tail = parmdecls; tail; tail = TREE_CHAIN (tail))
-       if (DECL_NAME (tail) == TREE_VALUE (parm))
-         {
-           found = tail;
-           break;
-         }
-
-      /* If declaration already marked, we have a duplicate name.
-        Complain, and don't use this decl twice.   */
-      if (found && DECL_WEAK (found))
-       {
-         error_with_decl (found, "multiple parameters named `%s'");
-         found = 0;
-       }
-
-      /* If the declaration says "void", complain and ignore it.  */
-      if (found && VOID_TYPE_P (TREE_TYPE (found)))
-       {
-         error_with_decl (found, "parameter `%s' declared void");
-         TREE_TYPE (found) = integer_type_node;
-         DECL_ARG_TYPE (found) = integer_type_node;
-         layout_decl (found, 0);
-       }
-
-      /* Traditionally, a parm declared float is actually a double.  */
-      if (found && flag_traditional
-         && TYPE_MAIN_VARIANT (TREE_TYPE (found)) == float_type_node)
-       {
-         TREE_TYPE (found) = double_type_node;
-         DECL_ARG_TYPE (found) = double_type_node;
-         layout_decl (found, 0);
-       }
-
-      /* If no declaration found, default to int.  */
-      if (!found)
-       {
-         found = build_decl (PARM_DECL, TREE_VALUE (parm),
-                             integer_type_node);
-         DECL_ARG_TYPE (found) = TREE_TYPE (found);
-         DECL_SOURCE_LINE (found) = DECL_SOURCE_LINE (fndecl);
-         DECL_SOURCE_FILE (found) = DECL_SOURCE_FILE (fndecl);
-         error_with_decl (found, "type of parameter `%s' is not declared");
-         pushdecl (found);
-       }
-
-      TREE_PURPOSE (parm) = found;
-
-      /* Mark this decl as "already found".  */
-      DECL_WEAK (found) = 1;
-    }
-
-  /* Complain about any actual PARM_DECLs not matched with any names.  */
-
-  for (parm = parmdecls; parm;)
-    {
-      tree next = TREE_CHAIN (parm);
-      TREE_CHAIN (parm) = 0;
-
-      /* Complain about args with incomplete types.  */
-      if (!COMPLETE_TYPE_P (TREE_TYPE (parm)))
-       {
-         error_with_decl (parm, "parameter `%s' has incomplete type");
-         TREE_TYPE (parm) = error_mark_node;
-       }
-
-      if (! DECL_WEAK (parm))
-       {
-         error_with_decl (parm,
-                          "declaration for parameter `%s' but no such parameter");
-         /* Pretend the parameter was not missing.
-            This gets us to a standard state and minimizes
-            further error messages.  */
-         specparms
-           = chainon (specparms,
-                      tree_cons (parm, NULL_TREE, NULL_TREE));
-       }
-
-      parm = next;
-    }
-
-  /* Chain the declarations together in the order of the list of names.
-     At the same time, build up a list of their types, in reverse order.  */
-
-  parm = specparms;
-  parmdecls = 0;
-  {
-    register tree last;
-    for (last = 0; parm; parm = TREE_CHAIN (parm))
-      if (TREE_PURPOSE (parm))
-       {
-         if (last == 0)
-           parmdecls = TREE_PURPOSE (parm);
-         else
-           TREE_CHAIN (last) = TREE_PURPOSE (parm);
-         last = TREE_PURPOSE (parm);
-         TREE_CHAIN (last) = 0;
-
-         types = tree_cons (NULL_TREE, TREE_TYPE (parm), types);
-       }
-  }
-
-  if (void_at_end)
-    return tree_cons (parmdecls, nonparms,
-                     nreverse (tree_cons (NULL_TREE, void_type_node, types)));
-
-  return tree_cons (parmdecls, nonparms, nreverse (types));
-}
-\f
 /* Finish up a function declaration and compile that function
    all the way to assembler language output.  The free the storage
    for the function definition.
index 6c466e7608646c58319963c0e0d35fc4aee97d35..9b0c2d63c1bd52899584c9a8a99001aa793ec13c 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions for C parsing and type checking.
    Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -168,7 +168,6 @@ extern void c_mark_varargs                      PARAMS ((void));
 extern void check_for_loop_decls                PARAMS ((void));
 extern tree check_identifier                    PARAMS ((tree, tree));
 extern void clear_parm_order                    PARAMS ((void));
-extern tree combine_parm_decls                  PARAMS ((tree, tree, int));
 extern int  complete_array_type                 PARAMS ((tree, tree, int));
 extern void declare_parm_level                  PARAMS ((int));
 extern tree define_label                        PARAMS ((const char *, int,
index d38445bb0f43b56e75e807ca1308dcafc0f836e6..62aae2c9f2d24df0e75ff8e7a22597cd616f969a 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions for CHILL parsing and type checking.
    Copyright (C) 1992, 1993, 1994, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -669,7 +669,6 @@ extern tree c_build_type_variant                PARAMS ((tree, int, int));
 extern int  c_decode_option                     PARAMS ((int, char **));
 extern void c_mark_varargs                      PARAMS ((void));
 extern void clear_parm_order                    PARAMS ((void));
-extern tree combine_parm_decls                  PARAMS ((tree, tree, int));
 extern int  complete_array_type                 PARAMS ((tree, tree, int));
 extern void declare_parm_level                  PARAMS ((int));
 extern tree define_label                        PARAMS ((const char *, int, tree));
index 84e4935a20e888ab53e7141fa679e30e4786d3e4..6972d85fc09425e8e0a6edd5287fe5d35d2baa93 100644 (file)
@@ -8463,7 +8463,8 @@ num_sign_bit_copies (x, mode)
         of sign bit copies, we can just subtract that amount from the
         number.  */
       if (GET_CODE (XEXP (x, 1)) == CONST_INT
-         && INTVAL (XEXP (x, 1)) >= 0 && INTVAL (XEXP (x, 1)) < bitwidth)
+         && INTVAL (XEXP (x, 1)) >= 0
+         && INTVAL (XEXP (x, 1)) < (int) bitwidth)
        {
          num0 = num_sign_bit_copies (XEXP (x, 0), mode);
          return MAX (1, num0 - (code == ROTATE ? INTVAL (XEXP (x, 1))
@@ -8595,7 +8596,7 @@ num_sign_bit_copies (x, mode)
       num0 = num_sign_bit_copies (XEXP (x, 0), mode);
       if (GET_CODE (XEXP (x, 1)) == CONST_INT
          && INTVAL (XEXP (x, 1)) > 0)
-       num0 = MIN (bitwidth, num0 + INTVAL (XEXP (x, 1)));
+       num0 = MIN ((int) bitwidth, num0 + INTVAL (XEXP (x, 1)));
 
       return num0;
 
@@ -8603,7 +8604,7 @@ num_sign_bit_copies (x, mode)
       /* Left shifts destroy copies.  */
       if (GET_CODE (XEXP (x, 1)) != CONST_INT
          || INTVAL (XEXP (x, 1)) < 0
-         || INTVAL (XEXP (x, 1)) >= bitwidth)
+         || INTVAL (XEXP (x, 1)) >= (int) bitwidth)
        return 1;
 
       num0 = num_sign_bit_copies (XEXP (x, 0), mode);
index e7b6bbd824b4f5f0c6a30b3c4b79b4e17bc58972..7cfbd96f8cf01bdffabfea80c03478488dc43cb9 100644 (file)
@@ -3555,7 +3555,8 @@ build_op_delete_call (code, addr, size, flags, placement)
      tree addr, size, placement;
      int flags;
 {
-  tree fn, fns, fnname, fntype, argtypes, args, type;
+  tree fn = NULL_TREE;
+  tree fns, fnname, fntype, argtypes, args, type;
   int pass;
 
   if (addr == error_mark_node)
@@ -3871,8 +3872,7 @@ convert_like_real (convs, expr, fn, argnum, inner)
       /* Copy-initialization where the cv-unqualified version of the source
         type is the same class as, or a derived class of, the class of the
         destination [is treated as direct-initialization].  [dcl.init] */
-      if (fn)
-       savew = warningcount, savee = errorcount;
+      savew = warningcount, savee = errorcount;
       expr = build_new_method_call (NULL_TREE, complete_ctor_identifier,
                                    build_tree_list (NULL_TREE, expr),
                                    TYPE_BINFO (totype),
@@ -5425,7 +5425,7 @@ tweak:
   if (!pedantic)
     {
       int rank1 = IDENTITY_RANK, rank2 = IDENTITY_RANK;
-      struct z_candidate *w, *l;
+      struct z_candidate *w = 0, *l = 0;
 
       for (i = 0; i < len; ++i)
        {
index 013b3ba75769bc91fbf4b23ad4577b7b9230b76f..fac4a3891a9534cbf9bf8a17f0674f0ba75244ce 100644 (file)
@@ -202,6 +202,7 @@ static void update_vtable_entry_for_fn PARAMS ((tree, tree, tree, tree *));
 static tree copy_virtuals PARAMS ((tree));
 static void build_ctor_vtbl_group PARAMS ((tree, tree));
 static void build_vtt PARAMS ((tree));
+static tree binfo_ctor_vtable PARAMS ((tree));
 static tree *build_vtt_inits PARAMS ((tree, tree, tree *, tree *));
 static tree dfs_build_secondary_vptr_vtt_inits PARAMS ((tree, void *));
 static tree dfs_ctor_vtable_bases_queue_p PARAMS ((tree, void *data));
@@ -6796,7 +6797,7 @@ get_primary_binfo (binfo)
      tree binfo;
 {
   tree primary_base;
-  tree result;
+  tree result = NULL_TREE;
   tree virtuals;
   
   primary_base = CLASSTYPE_PRIMARY_BINFO (BINFO_TYPE (binfo));
index 6bce1937652eda80f04f6c76778c0407ac093893..d2b2b05f8879b3c3902e4dd256367e6bbf567370 100644 (file)
@@ -2200,7 +2200,7 @@ tree
 build_java_class_ref (type)
      tree type;
 {
-  tree name, class_decl;
+  tree name = NULL_TREE, class_decl;
   static tree CL_suffix = NULL_TREE;
   if (CL_suffix == NULL_TREE)
     CL_suffix = get_identifier("class$");
index 7e385d05747dafad30e4675eb7b28e0bd2a39937..f5b508c55ed9f30bcb963ecd5a90c3a35d16a7a3 100644 (file)
@@ -1716,7 +1716,7 @@ static void
 output_call_frame_info (for_eh)
      int for_eh;
 {
-  register unsigned long i;
+  register unsigned int i;
   register dw_fde_ref fde;
   register dw_cfi_ref cfi;
   char l1[20], l2[20];
@@ -5507,7 +5507,7 @@ build_abbrev_table (die)
      register dw_die_ref die;
 {
   register unsigned long abbrev_id;
-  register unsigned long n_alloc;
+  register unsigned int n_alloc;
   register dw_die_ref c;
   register dw_attr_ref d_attr, a_attr;
 
@@ -11450,7 +11450,7 @@ void
 dwarf2out_finish ()
 {
   limbo_die_node *node, *next_node;
-  dw_die_ref die;
+  dw_die_ref die = 0;
 
   /* Traverse the limbo die list, and add parent/child links.  The only
      dies without parents that should be here are concrete instances of
index e298329411f6266211f48d5706cd27c5d13b432a..db961fb1f2d9409ae461c2617dbd4353d3f93d5c 100644 (file)
@@ -100,7 +100,7 @@ tree (*lang_eh_runtime_type) PARAMS ((tree));
 rtx exception_handler_labels;
 
 static int call_site_base;
-static int sjlj_funcdef_number;
+static unsigned int sjlj_funcdef_number;
 static htab_t type_to_runtime_map;
 
 /* Describe the SjLj_Function_Context structure.  */
@@ -1855,7 +1855,8 @@ connect_post_landing_pads ()
 static void
 dw2_build_landing_pads ()
 {
-  int i, j;
+  int i;
+  unsigned int j;
 
   for (i = cfun->eh->last_region_number; i > 0; --i)
     {
@@ -3233,7 +3234,7 @@ convert_to_eh_region_ranges ()
   rtx last_action_insn = NULL_RTX;
   rtx last_landing_pad = NULL_RTX;
   rtx first_no_action_insn = NULL_RTX;
-  int call_site;
+  int call_site = 0;
 
   if (USING_SJLJ_EXCEPTIONS || cfun->eh->region_tree == NULL)
     return;
@@ -3504,7 +3505,7 @@ output_function_exception_table ()
 #endif
   int have_tt_data;
   int funcdef_number;
-  int tt_format_size;
+  int tt_format_size = 0;
 
   /* Not all functions need anything.  */
   if (! cfun->uses_eh_lsda)
index 9be312b9f43a13028275c7a65a47236e93806671..a6712826a330cef467a7dd0be9797723821bee23 100644 (file)
@@ -1566,7 +1566,7 @@ move_by_pieces_1 (genfun, mode, data)
      struct move_by_pieces *data;
 {
   unsigned int size = GET_MODE_SIZE (mode);
-  rtx to1, from1;
+  rtx to1 = NULL_RTX, from1;
 
   while (data->len >= size)
     {
@@ -4699,8 +4699,8 @@ store_constructor (exp, target, align, cleared, size)
       tree elttype = TREE_TYPE (type);
       int const_bounds_p = (host_integerp (TYPE_MIN_VALUE (domain), 0)
                            && host_integerp (TYPE_MAX_VALUE (domain), 0));
-      HOST_WIDE_INT minelt;
-      HOST_WIDE_INT maxelt;
+      HOST_WIDE_INT minelt = 0;
+      HOST_WIDE_INT maxelt = 0;
 
       /* If we have constant bounds for the range of the type, get them.  */
       if (const_bounds_p)
index 784d21dc7c536913779613121f7f26cabb56f524..ba1b99c23f9edc0770c61c12c5828919ffd6f88f 100644 (file)
@@ -3773,7 +3773,7 @@ static void
 mark_regs_live_at_end (set)
      regset set;
 {
-  int i;
+  unsigned int i;
 
   /* If exiting needs the right stack value, consider the stack pointer
      live at the end of the function.  */
index 4019bb69a176d7872b7853c6b9509b7e3cdfbc70..14c4513a3fa0d3c8cbc783a37915669ee9f02fde 100644 (file)
@@ -3564,13 +3564,15 @@ instantiate_decls (fndecl, valid_only)
   for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
     {
       HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (decl));
+      HOST_WIDE_INT size_rtl;
 
       instantiate_decl (DECL_RTL (decl), size, valid_only);
 
       /* If the parameter was promoted, then the incoming RTL mode may be
         larger than the declared type size.  We must use the larger of
         the two sizes.  */
-      size = MAX (GET_MODE_SIZE (GET_MODE (DECL_INCOMING_RTL (decl))), size);
+      size_rtl = GET_MODE_SIZE (GET_MODE (DECL_INCOMING_RTL (decl)));
+      size = MAX (size_rtl, size);
       instantiate_decl (DECL_INCOMING_RTL (decl), size, valid_only);
     }
 
index 2bf0fe7e3e32d2a9ba169092e9a0449638f7099a..c2337606bba14bfaa5f62b365965140e92fb9273 100644 (file)
@@ -1026,14 +1026,15 @@ emit_swap_insn (insn, regstack, reg)
         swap with, omit the swap.  */
 
       if (GET_CODE (i1dest) == REG && REGNO (i1dest) == FIRST_STACK_REG
-         && GET_CODE (i1src) == REG && REGNO (i1src) == hard_regno - 1
+         && GET_CODE (i1src) == REG
+         && REGNO (i1src) == (unsigned) hard_regno - 1
          && find_regno_note (i1, REG_DEAD, FIRST_STACK_REG) == NULL_RTX)
        return;
 
       /* If the previous insn wrote to the reg we are to swap with,
         omit the swap.  */
 
-      if (GET_CODE (i1dest) == REG && REGNO (i1dest) == hard_regno
+      if (GET_CODE (i1dest) == REG && REGNO (i1dest) == (unsigned) hard_regno
          && GET_CODE (i1src) == REG && REGNO (i1src) == FIRST_STACK_REG
          && find_regno_note (i1, REG_DEAD, FIRST_STACK_REG) == NULL_RTX)
        return;
@@ -1969,7 +1970,7 @@ subst_asm_stack_regs (insn, regstack)
        if (regno < 0)
          abort ();
 
-       if (regno != REGNO (recog_data.operand[i]))
+       if ((unsigned int) regno != REGNO (recog_data.operand[i]))
          {
            /* recog_data.operand[i] is not in the right place.  Find
               it and swap it with whatever is already in I's place.
@@ -2071,7 +2072,7 @@ subst_asm_stack_regs (insn, regstack)
 
       for (j = 0; j < n_outputs; j++)
        if (STACK_REG_P (recog_data.operand[j])
-           && REGNO (recog_data.operand[j]) == i)
+           && REGNO (recog_data.operand[j]) == (unsigned) i)
          {
            regstack->reg[++regstack->top] = i;
            SET_HARD_REG_BIT (regstack->reg_set, i);
index faff2e4589a904aaa0c9e8110b672373dc889d5e..7e4914335121f3bca10facd17d65e485dee851d7 100644 (file)
@@ -72,7 +72,7 @@ static void flags_set_1 PARAMS ((rtx, rtx, void *));
 
 static int try_auto_increment PARAMS ((rtx, rtx, rtx, rtx, HOST_WIDE_INT, int));
 static int find_matches PARAMS ((rtx, struct match *));
-static void replace_in_call_usage PARAMS ((rtx *, int, rtx, rtx));
+static void replace_in_call_usage PARAMS ((rtx *, unsigned int, rtx, rtx));
 static int fixup_match_1 PARAMS ((rtx, rtx, rtx, rtx, rtx, int, int, int, FILE *))
 ;
 static int reg_is_remote_constant_p PARAMS ((rtx, rtx, rtx));
@@ -1619,7 +1619,7 @@ find_matches (insn, matchp)
 static void
 replace_in_call_usage (loc, dst_reg, src, insn)
      rtx *loc;
-     int dst_reg;
+     unsigned int dst_reg;
      rtx src;
      rtx insn;
 {
index adafd1a477ed4768911370ec3824a3640e0e7982..03e5d21e00b815da764067df22b8f484320538fd 100644 (file)
@@ -1039,7 +1039,7 @@ push_reload (in, out, inloc, outloc, class,
         order as the reloads.  Thus if the outer reload is also of type
         RELOAD_OTHER, we are guaranteed that this inner reload will be
         output before the outer reload.  */
-      push_reload (SUBREG_REG (in), NULL_RTX, &SUBREG_REG (in), NULL_RTX,
+      push_reload (SUBREG_REG (in), NULL_RTX, &SUBREG_REG (in), (rtx *)0,
                   in_class, VOIDmode, VOIDmode, 0, 0, opnum, type);
       dont_remove_subreg = 1;
     }
@@ -6698,14 +6698,14 @@ regno_clobbered_p (regno, insn, mode, sets)
      enum machine_mode mode;
      int sets;
 {
-  int nregs = HARD_REGNO_NREGS (regno, mode);
-  int endregno = regno + nregs;
+  unsigned int nregs = HARD_REGNO_NREGS (regno, mode);
+  unsigned int endregno = regno + nregs;
 
   if ((GET_CODE (PATTERN (insn)) == CLOBBER
        || (sets && GET_CODE (PATTERN (insn)) == SET))
       && GET_CODE (XEXP (PATTERN (insn), 0)) == REG)
     {
-      int test = REGNO (XEXP (PATTERN (insn), 0));
+      unsigned int test = REGNO (XEXP (PATTERN (insn), 0));
 
       return test >= regno && test < endregno;
     }
@@ -6721,7 +6721,7 @@ regno_clobbered_p (regno, insn, mode, sets)
               || (sets && GET_CODE (PATTERN (insn)) == SET))
              && GET_CODE (XEXP (elt, 0)) == REG)
            {
-             int test = REGNO (XEXP (elt, 0));
+             unsigned int test = REGNO (XEXP (elt, 0));
              
              if (test >= regno && test < endregno)
                return 1;
index c6a5c238548e43c4d3e77e54236b8849cdcdc319..1423e6ed0d758f5d5e90d7713fcdddf47c98754a 100644 (file)
@@ -601,7 +601,7 @@ replace_pseudos_in_call_usage (loc, mem_mode, usage)
   code = GET_CODE (x);
   if (code == REG)
     {
-      int regno = REGNO (x);
+      unsigned int regno = REGNO (x);
 
       if (regno < FIRST_PSEUDO_REGISTER)
        return;
@@ -8585,7 +8585,8 @@ static void
 reload_combine ()
 {
   rtx insn, set;
-  int first_index_reg = -1, last_index_reg;
+  int first_index_reg = -1;
+  int last_index_reg = 0;
   int i;
   unsigned int r;
   int last_label_ruid;
@@ -8816,7 +8817,7 @@ reload_combine ()
              rtx usage_rtx = XEXP (XEXP (link, 0), 0);
              if (GET_CODE (usage_rtx) == REG)
                {
-                 int i;
+                 unsigned int i;
                  unsigned int start_reg = REGNO (usage_rtx);
                  unsigned int num_regs =
                        HARD_REGNO_NREGS (start_reg, GET_MODE (usage_rtx));
index d303e7a86df9a00a9186e08703fb2acc8c8bb8bc..f7439344546744d81dfcf6dcdcd42a28a9859443 100644 (file)
@@ -1,7 +1,7 @@
 /* Instruction scheduling pass.  This file computes dependencies between
    instructions.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
    and currently maintained by, Jim Wilson (wilson@cygnus.com)
 
@@ -197,7 +197,6 @@ add_dependence (insn, elem, dep_type)
 {
   rtx link, next;
   int present_p;
-  enum reg_note present_dep_type;
   rtx cond1, cond2;
 
   /* Don't depend an insn on itself.  */
@@ -271,10 +270,13 @@ add_dependence (insn, elem, dep_type)
      dramatically for some code.  */
   if (true_dependency_cache != NULL)
     {
+      enum reg_note present_dep_type = 0;
+
       if (anti_dependency_cache == NULL || output_dependency_cache == NULL)
        abort ();
       if (TEST_BIT (true_dependency_cache[INSN_LUID (insn)], INSN_LUID (elem)))
-       present_dep_type = 0;
+       /* Do nothing (present_set_type is already 0).  */
+       ;
       else if (TEST_BIT (anti_dependency_cache[INSN_LUID (insn)],
                         INSN_LUID (elem)))
        present_dep_type = REG_DEP_ANTI;
index 3cdc3dc546d15c9fe463a18c36dd4aa49f843f51..b21066ed3cffb3468e576f871f14a87ee24212ba 100644 (file)
@@ -2196,7 +2196,7 @@ simplify_subreg (outermode, op, innermode, byte)
   if (CONSTANT_P (op))
     {
       int offset, part;
-      unsigned HOST_WIDE_INT val;
+      unsigned HOST_WIDE_INT val = 0;
 
       /* ??? This code is partly redundant with code bellow, but can handle
         the subregs of floats and similar corner cases.
@@ -2231,7 +2231,7 @@ simplify_subreg (outermode, op, innermode, byte)
 
          /* We can't handle this case yet.  */
          if (GET_MODE_BITSIZE (outermode) >= HOST_BITS_PER_WIDE_INT)
-           return NULL;
+           return NULL_RTX;
 
          part = offset >= HOST_BITS_PER_WIDE_INT;
          if ((BITS_PER_WORD > HOST_BITS_PER_WIDE_INT
@@ -2253,7 +2253,7 @@ simplify_subreg (outermode, op, innermode, byte)
 
          /* We don't handle synthetizing of non-integral constants yet.  */
          if (GET_MODE_CLASS (outermode) != MODE_INT)
-           return NULL;
+           return NULL_RTX;
 
          if (BYTES_BIG_ENDIAN || WORDS_BIG_ENDIAN)
            {
@@ -2322,8 +2322,8 @@ simplify_subreg (outermode, op, innermode, byte)
            return NULL_RTX;
          /* Bail out in case resulting subreg would be incorrect.  */
          if (final_offset % GET_MODE_SIZE (outermode)
-             || final_offset >= GET_MODE_SIZE (innermostmode))
-           return NULL;
+             || (unsigned) final_offset >= GET_MODE_SIZE (innermostmode))
+           return NULL_RTX;
        }
       else
        {
@@ -2339,7 +2339,7 @@ simplify_subreg (outermode, op, innermode, byte)
          if (offset == final_offset)
            final_offset = 0;
          else
-           return NULL;
+           return NULL_RTX;
        }
 
       /* Recurse for futher possible simplifications.  */