diff options
author | Markus Trippelsdorf <markus@trippelsdorf.de> | 2014-11-20 16:36:14 +0000 |
---|---|---|
committer | Markus Trippelsdorf <trippels@gcc.gnu.org> | 2014-11-20 16:36:14 +0000 |
commit | d7ca26e4167f1c7abe50041c838111ee4fab15d1 (patch) | |
tree | bd5b144b7bbe1e7b714275f855291e53127e214a /gcc/varasm.c | |
parent | 46ed60245a76b90e6161134fc6a22480aa1248fe (diff) | |
download | gcc-d7ca26e4167f1c7abe50041c838111ee4fab15d1.zip gcc-d7ca26e4167f1c7abe50041c838111ee4fab15d1.tar.gz gcc-d7ca26e4167f1c7abe50041c838111ee4fab15d1.tar.bz2 |
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 <markus@trippelsdorf.de>
* 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
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 07eb72a..99dae5d 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -7196,7 +7196,7 @@ get_section_anchor (struct object_block *block, HOST_WIDE_INT offset, offset = 0; else { - bias = 1 << (GET_MODE_BITSIZE (ptr_mode) - 1); + bias = HOST_WIDE_INT_1U << (GET_MODE_BITSIZE (ptr_mode) - 1); if (offset < 0) { delta = -(unsigned HOST_WIDE_INT) offset + max_offset; |