Patch for more signed/unsigned warnings
Kaveh R. Ghazi
ghazi@caip.rutgers.edu
Thu Aug 1 18:05:00 GMT 2002
The patch below fixes these signed/unsigned warnings:
Generic warnings:
> regclass.c:486: warning: comparison between signed and unsigned
> regclass.c:1858: warning: comparison between signed and unsigned
> regclass.c:1865: warning: comparison between signed and unsigned
> reload.c:5599: warning: comparison between signed and unsigned
Warnings found on mips-irix6.2:
> loop.c:900: warning: comparison between signed and unsigned
> loop.c:931: warning: comparison between signed and unsigned
> loop.c:1033: warning: comparison between signed and unsigned
> loop.c:2174: warning: comparison between signed and unsigned
> loop.c:2239: warning: comparison between signed and unsigned
> loop.c:3499: warning: comparison between signed and unsigned
> reload.c:829: warning: comparison between signed and unsigned
> reload.c:1007: warning: comparison between signed and unsigned
> reload.c:1109: warning: comparison between signed and unsigned
Warnings found on sparc-solaris2.7:
> regclass.c:700: warning: comparison between signed and unsigned
> regclass.c:710: warning: comparison between signed and unsigned
> regclass.c:720: warning: comparison between signed and unsigned
> regclass.c:730: warning: comparison between signed and unsigned
> regclass.c:741: warning: comparison between signed and unsigned
> regclass.c:1871: warning: comparison between signed and unsigned
> regclass.c:1878: warning: comparison between signed and unsigned
Bootstrapped on mips-sgi-irix6.2 and sparc-sun-solaris2.7.
Ok to install?
Thanks,
--Kaveh
2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
signed/unsigned warnings.
* regclass.c (init_reg_sets_1, choose_hard_reg_mode,
record_reg_classes): Likewise.
* reload.c (reload_inner_reg_of_subreg, push_reload,
find_reloads_address_1): Likewise.
diff -rup orig/egcc-CVS20020731/gcc/loop.c egcc-CVS20020731/gcc/loop.c
--- orig/egcc-CVS20020731/gcc/loop.c Tue Jul 23 16:00:14 2002
+++ egcc-CVS20020731/gcc/loop.c Thu Aug 1 16:51:27 2002
@@ -897,7 +897,7 @@ scan_loop (loop, flags)
SET_DEST (set), copy_rtx (SET_SRC (set)));
delete_insn (p);
- for (i = 0; i < LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
+ for (i = 0; i < (int) LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
regs->array[regno+i].set_in_loop = 0;
continue;
}
@@ -928,7 +928,7 @@ scan_loop (loop, flags)
m->savings = regs->array[regno].n_times_set;
if (find_reg_note (p, REG_RETVAL, NULL_RTX))
m->savings += libcall_benefit (p);
- for (i = 0; i < LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
+ for (i = 0; i < (int) LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
regs->array[regno+i].set_in_loop = move_insn ? -2 : -1;
/* Add M to the end of the chain MOVABLES. */
loop_movables_add (movables, m);
@@ -1030,7 +1030,7 @@ scan_loop (loop, flags)
m->match = 0;
m->lifetime = LOOP_REG_LIFETIME (loop, regno);
m->savings = 1;
- for (i = 0; i < LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
+ for (i = 0; i < (int) LOOP_REGNO_NREGS (regno, SET_DEST (set)); i++)
regs->array[regno+i].set_in_loop = -1;
/* Add M to the end of the chain MOVABLES. */
loop_movables_add (movables, m);
@@ -2171,7 +2171,7 @@ move_movables (loop, movables, threshold
if (! m->partial)
{
int i;
- for (i = 0; i < LOOP_REGNO_NREGS (regno, m->set_dest); i++)
+ for (i = 0; i < (int) LOOP_REGNO_NREGS (regno, m->set_dest); i++)
regs->array[regno+i].set_in_loop = 0;
}
@@ -2236,7 +2236,7 @@ move_movables (loop, movables, threshold
{
int i;
for (i = 0;
- i < LOOP_REGNO_NREGS (regno, m1->set_dest);
+ i < (int) LOOP_REGNO_NREGS (regno, m1->set_dest);
i++)
regs->array[m1->regno+i].set_in_loop = 0;
}
@@ -3496,7 +3496,7 @@ count_one_set (regs, insn, x, last_set)
{
int i;
int regno = REGNO (dest);
- for (i = 0; i < LOOP_REGNO_NREGS (regno, dest); i++)
+ for (i = 0; i < (int) LOOP_REGNO_NREGS (regno, dest); i++)
{
/* If this is the first setting of this reg
in current basic block, and it was set before,
diff -rup orig/egcc-CVS20020731/gcc/regclass.c egcc-CVS20020731/gcc/regclass.c
--- orig/egcc-CVS20020731/gcc/regclass.c Tue Jul 23 17:24:45 2002
+++ egcc-CVS20020731/gcc/regclass.c Thu Aug 1 16:41:35 2002
@@ -483,7 +483,7 @@ init_reg_sets_1 ()
memset (allocatable_regs_of_mode, 0, sizeof (allocatable_regs_of_mode));
for (m = 0; m < (unsigned int) MAX_MACHINE_MODE; m++)
for (i = 0; i < N_REG_CLASSES; i++)
- if (CLASS_MAX_NREGS (i, m) <= reg_class_size[i])
+ if ((unsigned) CLASS_MAX_NREGS (i, m) <= reg_class_size[i])
for (j = 0; j < FIRST_PSEUDO_REGISTER; j++)
if (!fixed_regs [j] && TEST_HARD_REG_BIT (reg_class_contents[i], j)
&& HARD_REGNO_MODE_OK (j, m))
@@ -696,7 +696,7 @@ choose_hard_reg_mode (regno, nregs)
for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT);
mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode))
- if (HARD_REGNO_NREGS (regno, mode) == nregs
+ if ((unsigned) HARD_REGNO_NREGS (regno, mode) == nregs
&& HARD_REGNO_MODE_OK (regno, mode))
found_mode = mode;
@@ -706,7 +706,7 @@ choose_hard_reg_mode (regno, nregs)
for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT);
mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode))
- if (HARD_REGNO_NREGS (regno, mode) == nregs
+ if ((unsigned) HARD_REGNO_NREGS (regno, mode) == nregs
&& HARD_REGNO_MODE_OK (regno, mode))
found_mode = mode;
@@ -716,7 +716,7 @@ choose_hard_reg_mode (regno, nregs)
for (mode = GET_CLASS_NARROWEST_MODE (MODE_VECTOR_FLOAT);
mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode))
- if (HARD_REGNO_NREGS (regno, mode) == nregs
+ if ((unsigned) HARD_REGNO_NREGS (regno, mode) == nregs
&& HARD_REGNO_MODE_OK (regno, mode))
found_mode = mode;
@@ -726,7 +726,7 @@ choose_hard_reg_mode (regno, nregs)
for (mode = GET_CLASS_NARROWEST_MODE (MODE_VECTOR_INT);
mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode))
- if (HARD_REGNO_NREGS (regno, mode) == nregs
+ if ((unsigned) HARD_REGNO_NREGS (regno, mode) == nregs
&& HARD_REGNO_MODE_OK (regno, mode))
found_mode = mode;
@@ -737,7 +737,7 @@ choose_hard_reg_mode (regno, nregs)
for (m = (unsigned int) CCmode; m < (unsigned int) NUM_MACHINE_MODES; ++m)
{
mode = (enum machine_mode) m;
- if (HARD_REGNO_NREGS (regno, mode) == nregs
+ if ((unsigned) HARD_REGNO_NREGS (regno, mode) == nregs
&& HARD_REGNO_MODE_OK (regno, mode))
return mode;
}
@@ -1855,27 +1855,27 @@ record_reg_classes (n_alts, n_ops, ops,
enum reg_class pref = reg_pref[regno].prefclass;
if ((reg_class_size[(unsigned char) pref]
- == CLASS_MAX_NREGS (pref, mode))
+ == (unsigned) CLASS_MAX_NREGS (pref, mode))
&& REGISTER_MOVE_COST (mode, pref, pref) < 10 * 2)
op_costs[i].cost[(unsigned char) pref] = -1;
}
else if (regno < FIRST_PSEUDO_REGISTER)
for (class = 0; class < N_REG_CLASSES; class++)
if (TEST_HARD_REG_BIT (reg_class_contents[class], regno)
- && reg_class_size[class] == CLASS_MAX_NREGS (class, mode))
+ && reg_class_size[class] == (unsigned) CLASS_MAX_NREGS (class, mode))
{
if (reg_class_size[class] == 1)
op_costs[i].cost[class] = -1;
else
{
- for (nr = 0; nr < HARD_REGNO_NREGS (regno, mode); nr++)
+ for (nr = 0; nr < (unsigned) HARD_REGNO_NREGS (regno, mode); nr++)
{
if (! TEST_HARD_REG_BIT (reg_class_contents[class],
regno + nr))
break;
}
- if (nr == HARD_REGNO_NREGS (regno,mode))
+ if (nr == (unsigned) HARD_REGNO_NREGS (regno,mode))
op_costs[i].cost[class] = -1;
}
}
diff -rup orig/egcc-CVS20020731/gcc/reload.c egcc-CVS20020731/gcc/reload.c
--- orig/egcc-CVS20020731/gcc/reload.c Tue Jul 23 17:24:45 2002
+++ egcc-CVS20020731/gcc/reload.c Thu Aug 1 16:57:47 2002
@@ -826,7 +826,7 @@ reload_inner_reg_of_subreg (x, mode)
return (GET_MODE_SIZE (mode) <= UNITS_PER_WORD
&& GET_MODE_SIZE (GET_MODE (inner)) > UNITS_PER_WORD
&& ((GET_MODE_SIZE (GET_MODE (inner)) / UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (inner), GET_MODE (inner))));
+ != (int) HARD_REGNO_NREGS (REGNO (inner), GET_MODE (inner))));
}
/* Record one reload that needs to be performed.
@@ -1003,8 +1003,8 @@ push_reload (in, out, inloc, outloc, cla
> UNITS_PER_WORD)
&& ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
/ UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
- GET_MODE (SUBREG_REG (in)))))
+ != (int) HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
+ GET_MODE (SUBREG_REG (in)))))
|| ! HARD_REGNO_MODE_OK (subreg_regno (in), inmode)))
#ifdef SECONDARY_INPUT_RELOAD_CLASS
|| (SECONDARY_INPUT_RELOAD_CLASS (class, inmode, in) != NO_REGS
@@ -1105,8 +1105,8 @@ push_reload (in, out, inloc, outloc, cla
> UNITS_PER_WORD)
&& ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (out)))
/ UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (SUBREG_REG (out)),
- GET_MODE (SUBREG_REG (out)))))
+ != (int) HARD_REGNO_NREGS (REGNO (SUBREG_REG (out)),
+ GET_MODE (SUBREG_REG (out)))))
|| ! HARD_REGNO_MODE_OK (subreg_regno (out), outmode)))
#ifdef SECONDARY_OUTPUT_RELOAD_CLASS
|| (SECONDARY_OUTPUT_RELOAD_CLASS (class, outmode, out) != NO_REGS
@@ -5595,7 +5595,7 @@ find_reloads_address_1 (mode, x, context
{
enum reg_class class = (context ? INDEX_REG_CLASS
: MODE_BASE_REG_CLASS (mode));
- if (CLASS_MAX_NREGS (class, GET_MODE (SUBREG_REG (x)))
+ if ((unsigned) CLASS_MAX_NREGS (class, GET_MODE (SUBREG_REG (x)))
> reg_class_size[class])
{
x = find_reloads_subreg_address (x, 0, opnum, type,
More information about the Gcc-patches
mailing list