cselib.c (cselib_hash_rtx): Perform addition in unsigned type to avoid signed integer overflow.
* cselib.c (cselib_hash_rtx): Perform addition in unsigned type to avoid signed integer overflow. * explow.c (plus_constant): Likewise. From-SVN: r208804
This commit is contained in:
parent
57fc74a48b
commit
a8acccddfd
@ -1,3 +1,9 @@
|
||||
2014-03-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* cselib.c (cselib_hash_rtx): Perform addition in unsigned
|
||||
type to avoid signed integer overflow.
|
||||
* explow.c (plus_constant): Likewise.
|
||||
|
||||
2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
* doc/generic.texi: Correct typos.
|
||||
|
@ -1137,7 +1137,7 @@ cselib_hash_rtx (rtx x, int create, enum machine_mode memmode)
|
||||
return hash ? hash : (unsigned int) ENTRY_VALUE;
|
||||
|
||||
case CONST_INT:
|
||||
hash += ((unsigned) CONST_INT << 7) + INTVAL (x);
|
||||
hash += ((unsigned) CONST_INT << 7) + UINTVAL (x);
|
||||
return hash ? hash : (unsigned int) CONST_INT;
|
||||
|
||||
case CONST_DOUBLE:
|
||||
|
@ -110,7 +110,7 @@ plus_constant (enum machine_mode mode, rtx x, HOST_WIDE_INT c)
|
||||
return immed_double_int_const (v, mode);
|
||||
}
|
||||
|
||||
return gen_int_mode (INTVAL (x) + c, mode);
|
||||
return gen_int_mode (UINTVAL (x) + c, mode);
|
||||
|
||||
case CONST_DOUBLE:
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user