OSDN Git Service

* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2000 01:27:00 +0000 (01:27 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2000 01:27:00 +0000 (01:27 +0000)
* cppinit.c (new_pending_define): Add cast to avoid warning.
* expmed.c (extract_bit_field): Likewise.
* flow.c (enum reorder_skip_type): New type.
(skip_insns_between_blcok): New it.
Rework to avoid warning about possibly undefined variable.
* function.c (assign_parms): Make thisparm_boundary unsigned.
* genrecog.c (write_switch): Cast XWINT result to int.
* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
* mips-tfile.c (init_file): Make two versions of FDR intializer:
one for MIPS and one for Alpha.
(get_tag, copy_object): Add casts to avoid warnings.
* optabs.c (init_one_libfunc): Cast NAME to (char *).
* reload.c (find_reloads): Make TYPE enum reload_type.
* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
* varasm.c (compare_constant_1): Add cast to avoid warning.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
to (char *).
(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
  Cast switch operand of size to int.
(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
in unhandled case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32060 138bc75d-0d04-0410-961f-82ee72b054a4

17 files changed:
gcc/ChangeLog
gcc/bitmap.c
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h
gcc/cppinit.c
gcc/expmed.c
gcc/flow.c
gcc/function.c
gcc/genrecog.c
gcc/lcm.c
gcc/mips-tfile.c
gcc/optabs.c
gcc/reload.c
gcc/reload1.c
gcc/sbitmap.c
gcc/unroll.c
gcc/varasm.c

index db5b0a8..0be42ce 100644 (file)
@@ -1,3 +1,30 @@
+Fri Feb 18 20:08:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
+       * cppinit.c (new_pending_define): Add cast to avoid warning.
+       * expmed.c (extract_bit_field): Likewise.
+       * flow.c (enum reorder_skip_type): New type.
+       (skip_insns_between_blcok): New it.
+       Rework to avoid warning about possibly undefined variable.
+       * function.c (assign_parms): Make thisparm_boundary unsigned.
+       * genrecog.c (write_switch): Cast XWINT result to int.
+       * lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
+       * mips-tfile.c (init_file): Make two versions of FDR intializer:
+       one for MIPS and one for Alpha.
+       (get_tag, copy_object): Add casts to avoid warnings.
+       * optabs.c (init_one_libfunc): Cast NAME to (char *).
+       * reload.c (find_reloads): Make TYPE enum reload_type.
+       * sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
+       * unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
+       * varasm.c (compare_constant_1): Add cast to avoid warning.
+       * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
+       to (char *).
+       (alpha_expand_unaligned_load, alpha_expand_unaligned_store):
+       Cast switch operand of size to int.
+       (alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
+       * config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
+       in unhandled case.
+
 2000-02-18  Nick Clifton  <nickc@cygnus.com>
 
        * config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate
index 6c6c978..99b5f5a 100644 (file)
@@ -395,10 +395,12 @@ bitmap_operation (to, from1, from2, operation)
      bitmap from2;
      enum bitmap_bits operation;
 {
+#define HIGHEST_INDEX (unsigned int) ~0
+
   bitmap_element *from1_ptr = from1->first;
   bitmap_element *from2_ptr = from2->first;
-  unsigned int indx1 = (from1_ptr) ? from1_ptr->indx : -1;
-  unsigned int indx2 = (from2_ptr) ? from2_ptr->indx : -1;
+  unsigned int indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
+  unsigned int indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
   bitmap_element *to_ptr = to->first;
   bitmap_element *from1_tmp;
   bitmap_element *from2_tmp;
@@ -449,9 +451,9 @@ bitmap_operation (to, from1, from2, operation)
          from1_tmp = from1_ptr;
          from2_tmp = from2_ptr;
          from1_ptr = from1_ptr->next;
-         indx1 = (from1_ptr) ? from1_ptr->indx : -1;
+         indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
          from2_ptr = from2_ptr->next;
-         indx2 = (from2_ptr) ? from2_ptr->indx : -1;
+         indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
        }
       else if (indx1 < indx2)
        {
@@ -459,7 +461,7 @@ bitmap_operation (to, from1, from2, operation)
          from1_tmp = from1_ptr;
          from2_tmp = &bitmap_zero;
          from1_ptr = from1_ptr->next;
-         indx1 = (from1_ptr) ? from1_ptr->indx : -1;
+         indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
        }
       else
        {
@@ -467,7 +469,7 @@ bitmap_operation (to, from1, from2, operation)
          from1_tmp = &bitmap_zero;
          from2_tmp = from2_ptr;
          from2_ptr = from2_ptr->next;
-         indx2 = (from2_ptr) ? from2_ptr->indx : -1;
+         indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
        }
 
       /* Find the appropriate element from TO.  Begin by discarding
index f3ff405..8ef62c8 100644 (file)
@@ -1997,7 +1997,7 @@ alpha_emit_xfloating_libcall (func, target, operands, noperands, equiv)
       abort ();
     }
 
-  tmp = gen_rtx_MEM (QImode, gen_rtx_SYMBOL_REF (Pmode, func));
+  tmp = gen_rtx_MEM (QImode, gen_rtx_SYMBOL_REF (Pmode, (char *) func));
   tmp = emit_call_insn (gen_call_value (reg, tmp, const0_rtx,
                                        const0_rtx, const0_rtx));
   CALL_INSN_FUNCTION_USAGE (tmp) = usage;
@@ -2199,7 +2199,7 @@ alpha_expand_unaligned_load (tgt, mem, size, ofs, sign)
     {
       emit_move_insn (addr, plus_constant (XEXP (mem, 0), ofs));
       emit_insn (gen_extxl (extl, meml, GEN_INT (size*8), addr));
-      switch (size)
+      switch ((int) size)
        {
        case 2:
          emit_insn (gen_extwh (exth, memh, addr));
@@ -2262,7 +2262,7 @@ alpha_expand_unaligned_store (dst, src, size, ofs)
       emit_insn (gen_insxh (insh, gen_lowpart (DImode, src),
                            GEN_INT (size*8), addr));
 
-      switch (size)
+      switch ((int) size)
        {
        case 2:
          emit_insn (gen_inswl (insl, gen_lowpart (HImode, src), addr));
@@ -2278,7 +2278,7 @@ alpha_expand_unaligned_store (dst, src, size, ofs)
 
   emit_insn (gen_mskxh (dsth, dsth, GEN_INT (size*8), addr));
 
-  switch (size)
+  switch ((int) size)
     {
     case 2:
       emit_insn (gen_mskxl (dstl, dstl, GEN_INT (0xffff), addr));
@@ -4579,6 +4579,8 @@ alpha_expand_epilogue ()
 
   fp_is_frame_pointer = ((TARGET_OPEN_VMS && vms_is_stack_procedure)
                         || (!TARGET_OPEN_VMS && frame_pointer_needed));
+  fp_offset = 0;
+  sa_reg = stack_pointer_rtx;
 
   eh_ofs = cfun->machine->eh_epilogue_sp_ofs;
   if (sa_size)
@@ -4592,7 +4594,6 @@ alpha_expand_epilogue ()
        }
 
       /* Cope with very large offsets to the register save area.  */
-      sa_reg = stack_pointer_rtx;
       if (reg_offset + sa_size > 0x8000)
        {
          int low = ((reg_offset & 0xffff) ^ 0x8000) - 0x8000;
index 1d64f37..b1c25c0 100644 (file)
@@ -965,6 +965,8 @@ extern int alpha_memory_latency;
                + (ALPHA_ROUND (get_frame_size ()                       \
                               + current_function_pretend_args_size)    \
                   - current_function_pretend_args_size));              \
+  else                                                                 \
+    abort ();                                                          \
 }
 
 /* Define this if stack space is still allocated for a parameter passed
index b7d2301..5e05511 100644 (file)
@@ -1058,7 +1058,7 @@ new_pending_define (opts, text)
   struct pending_option *o = (struct pending_option *)
     xmalloc (sizeof (struct pending_option));
 
-  o->arg = text;
+  o->arg = (char *) text;
   o->next = NULL;
   o->undef = 0;
   APPEND (opts->pending, define, o);
@@ -1067,6 +1067,7 @@ new_pending_define (opts, text)
 /* Handle one command-line option in (argc, argv).
    Can be called multiple times, to handle multiple sets of options.
    Returns number of strings consumed.  */
+
 int
 cpp_handle_option (pfile, argc, argv)
      cpp_reader *pfile;
index f938375..736a7f2 100644 (file)
@@ -1257,7 +1257,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
 
                  if (bestmode == VOIDmode
                      || (SLOW_UNALIGNED_ACCESS (bestmode, align)
-                         && GET_MODE_SIZE (bestmode) > align))
+                         && GET_MODE_SIZE (bestmode) > (int) align))
                    goto extzv_loses;
 
                  /* Compute offset as multiple of this unit,
index b56fd98..c1ec515 100644 (file)
@@ -7072,9 +7072,8 @@ typedef struct reorder_block_def {
 static int reorder_index;
 static basic_block reorder_last_visited;
 
-#define REORDER_SKIP_BEFORE 0x1
-#define REORDER_SKIP_AFTER 0x2
-#define REORDER_SKIP_BLOCK_END 0x3
+enum reorder_skip_type {REORDER_SKIP_BEFORE, REORDER_SKIP_AFTER,
+                       REORDER_SKIP_BLOCK_END};
 
 /* Skip over insns BEFORE or AFTER BB which are typically associated with
    basic block BB.  */
@@ -7082,7 +7081,7 @@ static basic_block reorder_last_visited;
 static rtx
 skip_insns_between_block (bb, skip_type)
      basic_block bb;
-     int skip_type;
+     enum reorder_skip_type skip_type;
 {
   rtx insn, last_insn;
 
@@ -7090,6 +7089,7 @@ skip_insns_between_block (bb, skip_type)
     {
       if (bb == ENTRY_BLOCK_PTR)
        return 0;
+
       last_insn = bb->head;
       for (insn = PREV_INSN (bb->head);
           insn && insn != BASIC_BLOCK (bb->index - 1)->end;
@@ -7097,6 +7097,7 @@ skip_insns_between_block (bb, skip_type)
        {
          if (NEXT_INSN (insn) != last_insn)
            break;
+
          if (GET_CODE (insn) == NOTE
              && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_END
              && NOTE_LINE_NUMBER (insn) != NOTE_INSN_BASIC_BLOCK
@@ -7106,8 +7107,8 @@ skip_insns_between_block (bb, skip_type)
          break;
        }
     }
-  else if (skip_type == REORDER_SKIP_AFTER
-          || skip_type == REORDER_SKIP_BLOCK_END)
+
+  else
     {
       last_insn = bb->end;
 
@@ -7128,6 +7129,7 @@ skip_insns_between_block (bb, skip_type)
                  && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END
                      || NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)))
            continue;
+
          if (GET_CODE (insn) == CODE_LABEL
              && GET_CODE (NEXT_INSN (insn)) == JUMP_INSN
              && (GET_CODE (PATTERN (NEXT_INSN (insn))) == ADDR_VEC
@@ -7139,34 +7141,40 @@ skip_insns_between_block (bb, skip_type)
            }
          break;
        }
-    }
-  if (skip_type == REORDER_SKIP_BLOCK_END)
-    {
-      int found_block_end = 0;
 
-      for (; insn; last_insn = insn, insn = NEXT_INSN (insn))
+      if (skip_type == REORDER_SKIP_BLOCK_END)
        {
-         if (bb->index + 1 != n_basic_blocks
-             && insn == BASIC_BLOCK (bb->index + 1)->head)
-           break;
+         int found_block_end = 0;
 
-         if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)
+         for (; insn; last_insn = insn, insn = NEXT_INSN (insn))
            {
-             found_block_end = 1;
-             continue;
+             if (bb->index + 1 != n_basic_blocks
+                 && insn == BASIC_BLOCK (bb->index + 1)->head)
+               break;
+
+             if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)
+               {
+                 found_block_end = 1;
+                 continue;
+               }
+
+             if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
+               continue;
+
+             if (GET_CODE (insn) == NOTE
+                 && NOTE_LINE_NUMBER (insn) >= 0
+                 && NEXT_INSN (insn)
+                 && (NOTE_LINE_NUMBER (NEXT_INSN (insn))
+                     == NOTE_INSN_BLOCK_END))
+               continue;
+             break;
            }
-         if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
-           continue;
-         if (GET_CODE (insn) == NOTE
-             && NOTE_LINE_NUMBER (insn) >= 0
-             && NEXT_INSN (insn)
-             && NOTE_LINE_NUMBER (NEXT_INSN (insn)) == NOTE_INSN_BLOCK_END)
-           continue;
-         break;
+
+         if (! found_block_end)
+           last_insn = 0;
        }
-      if (! found_block_end)
-       last_insn = 0;
     }
+
   return last_insn;
 }
 
index 914cc95..ad9e868 100644 (file)
@@ -4348,7 +4348,7 @@ assign_parms (fndecl)
         for its ultimate type, don't use that slot after entry.
         We'll make another stack slot, if we need one.  */
       {
-       int thisparm_boundary
+       unsigned int thisparm_boundary
          = FUNCTION_ARG_BOUNDARY (promoted_mode, passed_type);
 
        if (GET_MODE_ALIGNMENT (nominal_mode) > thisparm_boundary)
index 5db3aa2..540a84a 100644 (file)
@@ -1785,19 +1785,21 @@ write_switch (start, depth)
       switch (type)
        {
        case DT_mode:
-         printf("GET_MODE (x%d)", depth);
+         printf ("GET_MODE (x%d)", depth);
          break;
        case DT_veclen:
-         printf("XVECLEN (x%d, 0)", depth);
+         printf ("XVECLEN (x%d, 0)", depth);
          break;
        case DT_elt_zero_int:
-         printf("XINT (x%d, 0)", depth);
+         printf ("XINT (x%d, 0)", depth);
          break;
        case DT_elt_one_int:
-         printf("XINT (x%d, 1)", depth);
+         printf ("XINT (x%d, 1)", depth);
          break;
        case DT_elt_zero_wide:
-         printf("XWINT (x%d, 0)", depth);
+         /* Convert result of XWINT to int for portability since some C
+            compilers won't do it and some will.  */
+         printf ("(int) XWINT (x%d, 0)", depth);
          break;
        default:
          abort ();
index 7598b34..b850984 100644 (file)
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -842,6 +842,7 @@ struct bb_info
 
 /* These bitmaps are used for the LCM algorithm.  */
 
+#ifdef OPTIMIZE_MODE_SWITCHING
 static sbitmap *antic;
 static sbitmap *transp;
 static sbitmap *comp;
@@ -850,12 +851,16 @@ static sbitmap *insert;
 
 static struct seginfo * new_seginfo PARAMS ((int, rtx, int, HARD_REG_SET));;
 static void add_seginfo PARAMS ((struct bb_info *, struct seginfo *));
-static void make_preds_opaque PARAMS ((basic_block, int));
 static void reg_dies PARAMS ((rtx, HARD_REG_SET));
 static void reg_becomes_live PARAMS ((rtx, rtx, void *));
+static void make_preds_opaque PARAMS ((basic_block, int));
+#endif
+\f
+#ifdef OPTIMIZE_MODE_SWITCHING
 
 /* This function will allocate a new BBINFO structure, initialized
    with the FP_MODE, INSN, and basic block BB parameters.  */
+
 static struct seginfo *
 new_seginfo (mode, insn, bb, regs_live)
      int mode;
@@ -876,6 +881,7 @@ new_seginfo (mode, insn, bb, regs_live)
 /* Add a seginfo element to the end of a list.  
    HEAD is a pointer to the list beginning.
    INFO is the structure to be linked in.  */
+
 static void
 add_seginfo (head, info)
      struct bb_info *head;
@@ -899,6 +905,7 @@ add_seginfo (head, info)
    denotes that a mode set is to be done on that edge.
    J is the bit number in the bitmaps that corresponds to the entity that
    we are currently handling mode-switching for.  */
+
 static void
 make_preds_opaque (b, j)
      basic_block b;
@@ -917,6 +924,7 @@ make_preds_opaque (b, j)
 }
 
 /* Record in LIVE that register REG died.  */
+
 static void
 reg_dies (reg, live)
      rtx reg;
@@ -938,6 +946,7 @@ reg_dies (reg, live)
 
 /* Record in LIVE that register REG became live.
    This is called via note_stores.  */
+
 static void
 reg_becomes_live (reg, setter, live)
      rtx reg;
@@ -961,6 +970,7 @@ reg_becomes_live (reg, setter, live)
        SET_HARD_REG_BIT (* (HARD_REG_SET *) live, regno);
     }
 }
+#endif
 
 /* Find all insns that need a particular mode
    setting, and insert the necessary mode switches.  */
index abedec8..aaea9f4 100644 (file)
@@ -1078,6 +1078,37 @@ typedef struct efdr {
 static efdr_t init_file = 
 {
   {                    /* FDR structure */
+#ifdef __alpha
+    0,                 /* adr:         memory address of beginning of file */
+    0,                 /* cbLineOffset: byte offset from header for this file ln's */
+    0,                 /* cbLine:      size of lines for this file */
+    0,                 /* cbSs:        number of bytes in the ss */
+    0,                 /* rss:         file name (of source, if known) */
+    0,                 /* issBase:     file's string space */
+    0,                 /* isymBase:    beginning of symbols */
+    0,                 /* csym:        count file's of symbols */
+    0,                 /* ilineBase:   file's line symbols */
+    0,                 /* cline:       count of file's line symbols */
+    0,                 /* ioptBase:    file's optimization entries */
+    0,                 /* copt:        count of file's optimization entries */
+    0,                 /* ipdFirst:    start of procedures for this file */
+    0,                 /* cpd:         count of procedures for this file */
+    0,                 /* iauxBase:    file's auxiliary entries */
+    0,                 /* caux:        count of file's auxiliary entries */
+    0,                 /* rfdBase:     index into the file indirect table */
+    0,                 /* crfd:        count file indirect entries */
+    langC,             /* lang:        language for this file */
+    1,                 /* fMerge:      whether this file can be merged */
+    0,                 /* fReadin:     true if read in (not just created) */
+#ifdef HOST_WORDS_BIG_ENDIAN
+    1,                 /* fBigendian:  if 1, compiled on big endian machine */
+#else
+    0,                 /* fBigendian:  if 1, compiled on big endian machine */
+#endif
+    0,                 /* fTrim:       whether the symbol table was trimmed */
+    GLEVEL_2,          /* glevel:      level this file was compiled with */
+    0,                 /* reserved:    reserved for future use */
+#else
     0,                 /* adr:         memory address of beginning of file */
     0,                 /* rss:         file name (of source, if known) */
     0,                 /* issBase:     file's string space */
@@ -1106,6 +1137,7 @@ static efdr_t init_file =
     0,                 /* reserved:    reserved for future use */
     0,                 /* cbLineOffset: byte offset from header for this file ln's */
     0,                 /* cbLine:      size of lines for this file */
+#endif
   },
 
   (FDR *) 0,           /* orig_fdr:    original file header pointer */
@@ -2327,7 +2359,8 @@ get_tag (tag_start, tag_end_p1, indx, basic_type)
   tag_ptr->same_name   = hash_ptr->tag_ptr;
   tag_ptr->basic_type  = basic_type;
   tag_ptr->indx                = indx;
-  tag_ptr->ifd         = (indx == indexNil) ? -1 : cur_file_ptr->file_index;
+  tag_ptr->ifd         = (indx == indexNil
+                          ? (symint_t) -1 : cur_file_ptr->file_index);
   tag_ptr->same_block  = cur_tag_head->first_tag;
 
   cur_tag_head->first_tag = tag_ptr;
@@ -4621,8 +4654,10 @@ copy_object __proto((void))
                             (st_t) eptr->asym.st,
                             (sc_t) eptr->asym.sc,
                             eptr->asym.value,
-                            (symint_t) ((eptr->asym.index == indexNil) ? indexNil : 0),
-                            ((long) ifd < orig_sym_hdr.ifdMax) ? remap_file_number[ ifd ] : ifd);
+                            (eptr->asym.index == indexNil
+                             ? (symint_t) indexNil : 0),
+                            ((long) ifd < orig_sym_hdr.ifdMax
+                             ? remap_file_number[ifd] : (int) ifd));
     }
 
 
@@ -4774,8 +4809,9 @@ copy_object __proto((void))
        remaining > 0;
        remaining -= num_write)
     {
-      num_write =
-       (remaining <= (int) sizeof (buffer)) ? remaining : sizeof (buffer);
+      num_write
+       = (remaining <= (int) sizeof (buffer))
+         ? remaining : (int) sizeof (buffer);
       sys_read = fread ((PTR_T) buffer, 1, num_write, obj_in_stream);
       if (sys_read <= 0)
        pfatal_with_name (obj_in_name);
index 9ce0c92..2898b49 100644 (file)
@@ -4430,7 +4430,8 @@ init_one_libfunc (name)
 {
   if (ggc_p)
     name = ggc_alloc_string (name, -1);
-  return gen_rtx_SYMBOL_REF (Pmode, name);
+
+  return gen_rtx_SYMBOL_REF (Pmode, (char *) name);
 }
 
 /* Mark ARG (which is really an OPTAB *) for GC.  */
index ffad399..0a51a28 100644 (file)
@@ -4037,7 +4037,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
       {
        for (i = 0; i < n_reloads; i++)
          {
-           int first_num, type;
+           int first_num;
+           enum reload_type type;
 
            switch (rld[i].when_needed)
              {
index f0aec44..9b0b4d1 100644 (file)
@@ -3173,6 +3173,7 @@ mark_not_eliminable (dest, x, data)
    last call to set_initial_elim_offsets.  This is used to catch cases
    where something illegal happened during reload_as_needed that could
    cause incorrect code to be generated if we did not check for it.  */
+
 static void
 verify_initial_elim_offsets ()
 {
index 0046c57..335659d 100644 (file)
@@ -540,7 +540,8 @@ dump_sbitmap (file, bmap)
      FILE *file;
      sbitmap bmap;
 {
-  int i,j,n;
+  int i, n;
+  unsigned int j;
   int set_size = bmap->size;
   int total_bits = bmap->n_bits;
 
@@ -551,7 +552,8 @@ dump_sbitmap (file, bmap)
        {
          if (n != 0 && n % 10 == 0)
            fprintf (file, " ");
-         fprintf (file, "%d", (bmap->elms[i] & (1L << j)) != 0);
+         fprintf (file, "%d",
+                  (bmap->elms[i] & ((SBITMAP_ELT_TYPE) 1 << j)) != 0);
        }
     }
   fprintf (file, "\n");
index 48fa757..115b92c 100644 (file)
@@ -234,7 +234,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
 {
   int i, j;
   unsigned HOST_WIDE_INT temp;
-  int unroll_number;
+  int unroll_number = 1;
   rtx copy_start, copy_end;
   rtx insn, sequence, pattern, tem;
   int max_labelno, max_insnno;
index 76d91f7..bfce0d8 100644 (file)
@@ -2539,7 +2539,7 @@ compare_constant_1 (exp, p)
       if (flag_writable_strings)
        return 0;
 
-      if (*p++ != TYPE_MODE (TREE_TYPE (exp)))
+      if ((enum machine_mode) *p++ != TYPE_MODE (TREE_TYPE (exp)))
        return 0;
 
       strp = TREE_STRING_POINTER (exp);