Commit a8acccdd by Jakub Jelinek Committed by Jakub Jelinek

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
parent 57fc74a4
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> 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
* doc/generic.texi: Correct typos. * doc/generic.texi: Correct typos.
......
...@@ -1137,7 +1137,7 @@ cselib_hash_rtx (rtx x, int create, enum machine_mode memmode) ...@@ -1137,7 +1137,7 @@ cselib_hash_rtx (rtx x, int create, enum machine_mode memmode)
return hash ? hash : (unsigned int) ENTRY_VALUE; return hash ? hash : (unsigned int) ENTRY_VALUE;
case CONST_INT: case CONST_INT:
hash += ((unsigned) CONST_INT << 7) + INTVAL (x); hash += ((unsigned) CONST_INT << 7) + UINTVAL (x);
return hash ? hash : (unsigned int) CONST_INT; return hash ? hash : (unsigned int) CONST_INT;
case CONST_DOUBLE: case CONST_DOUBLE:
......
...@@ -110,7 +110,7 @@ plus_constant (enum machine_mode mode, rtx x, HOST_WIDE_INT c) ...@@ -110,7 +110,7 @@ plus_constant (enum machine_mode mode, rtx x, HOST_WIDE_INT c)
return immed_double_int_const (v, mode); 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: case CONST_DOUBLE:
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment