From d7ca26e4167f1c7abe50041c838111ee4fab15d1 Mon Sep 17 00:00:00 2001 From: Markus Trippelsdorf Date: Thu, 20 Nov 2014 16:36:14 +0000 Subject: PR63426 Fix various signed integer overflows Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list. This patch fixes several of them. 2014-11-20 Markus Trippelsdorf * config/rs6000/constraints.md: Avoid signed integer overflows. * config/rs6000/predicates.md: Likewise. * config/rs6000/rs6000.c (num_insns_constant_wide): Likewise. (includes_rldic_lshift_p): Likewise. (includes_rldicr_lshift_p): Likewise. * emit-rtl.c (const_wide_int_htab_hash): Likewise. * loop-iv.c (determine_max_iter): Likewise. (iv_number_of_iterations): Likewise. * tree-ssa-loop-ivopts.c (get_computation_cost_at): Likewise. * varasm.c (get_section_anchor): Likewise. From-SVN: r217886 --- gcc/emit-rtl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/emit-rtl.c') diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 1226aad..fa5e41b 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -220,7 +220,7 @@ hashval_t const_wide_int_hasher::hash (rtx x) { int i; - HOST_WIDE_INT hash = 0; + unsigned HOST_WIDE_INT hash = 0; const_rtx xr = x; for (i = 0; i < CONST_WIDE_INT_NUNITS (xr); i++) -- cgit v1.1