summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-03 21:00:23 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-03 21:00:23 +0000
commitc1131678e0818650c9ddf7489fd00d8dbc2c4467 (patch)
treebed15451c157820985b41f07f0c788e0a6ecba32 /gcc/combine.c
parent965a29b4367b19e603e604b190ddbedf1b7b4a38 (diff)
downloadgcc-c1131678e0818650c9ddf7489fd00d8dbc2c4467.tar.gz
* combine.c (struct_undo): Change types of recorded substitutions
to be either "int" or "rtx", instead of "unsigned int" and "rtx". (do_SUBST_INT): Change types of the substitution from unsigned int to int, to avoid compilation warning from SUBST_INT's only caller. (make_extraction): Add cast to avoid compilation warning. (force_to_mode): Remove cast to avoid compilation warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55221 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index c94eddc58e0..70ca44582b9 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -314,8 +314,8 @@ struct undo
{
struct undo *next;
int is_int;
- union {rtx r; unsigned int i;} old_contents;
- union {rtx *r; unsigned int *i;} where;
+ union {rtx r; int i;} old_contents;
+ union {rtx *r; int *i;} where;
};
/* Record a bunch of changes to be undone, up to MAX_UNDO of them.
@@ -339,8 +339,7 @@ static struct undobuf undobuf;
static int n_occurrences;
static void do_SUBST PARAMS ((rtx *, rtx));
-static void do_SUBST_INT PARAMS ((unsigned int *,
- unsigned int));
+static void do_SUBST_INT PARAMS ((int *, int));
static void init_reg_last_arrays PARAMS ((void));
static void setup_incoming_promotions PARAMS ((void));
static void set_nonzero_bits_and_sign_copies PARAMS ((rtx, rtx, void *));
@@ -472,10 +471,10 @@ do_SUBST (into, newval)
static void
do_SUBST_INT (into, newval)
- unsigned int *into, newval;
+ int *into, newval;
{
struct undo *buf;
- unsigned int oldval = *into;
+ int oldval = *into;
if (oldval == newval)
return;
@@ -5971,7 +5970,7 @@ make_extraction (mode, inner, pos, pos_rtx, len,
else if (GET_CODE (inner) == ASHIFT
&& GET_CODE (XEXP (inner, 1)) == CONST_INT
&& pos_rtx == 0 && pos == 0
- && len > INTVAL (XEXP (inner, 1)))
+ && len > (unsigned HOST_WIDE_INT) INTVAL (XEXP (inner, 1)))
{
/* We're extracting the least significant bits of an rtx
(ashift X (const_int C)), where LEN > C. Extract the
@@ -6814,7 +6813,7 @@ force_to_mode (x, mode, mask, reg, just_select)
if (GET_CODE (x) == AND && GET_CODE (XEXP (x, 1)) == CONST_INT
&& ((INTVAL (XEXP (x, 1)) & GET_MODE_MASK (GET_MODE (x)))
- == (HOST_WIDE_INT) mask))
+ == mask))
x = XEXP (x, 0);
/* If it remains an AND, try making another AND with the bits