aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-09-26 01:38:29 -0600
committerJeff Law <law@gcc.gnu.org>2015-09-26 01:38:29 -0600
commitddec87d98d27536e70f3b7ddbe6a85cd0422cc86 (patch)
tree891ec5a9c2990de99e7c43635be50e2e1262bfb4
parentc4362b608bdaaa5b7b326bd60116040b38b0dbdd (diff)
downloadgcc-ddec87d98d27536e70f3b7ddbe6a85cd0422cc86.zip
gcc-ddec87d98d27536e70f3b7ddbe6a85cd0422cc86.tar.gz
gcc-ddec87d98d27536e70f3b7ddbe6a85cd0422cc86.tar.bz2
[PATCH] Fix undefined behaviour in mips port
[PATCH] Fix undefined behaviour in mips port * config/mips/mips.c (mips_compute_frame_info): Fix left shift undefined behaviour. From-SVN: r228164
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/mips/mips.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 98c1bd9..6887b14 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2015-09-26 Jeff Law <law@redhat.com>
+ * config/mips/mips.c (mips_compute_frame_info): Fix left shift
+ undefined behaviour.
+
* config/cris/cris.md (asrandb): Fix left shift undefined
behaviour.
(asrandw): Likewise.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 0e0ecf2..456db08 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -10572,7 +10572,7 @@ mips_compute_frame_info (void)
if (mips_save_reg_p (regno))
{
frame->num_fp += MAX_FPRS_PER_FMT;
- frame->fmask |= ~(~0 << MAX_FPRS_PER_FMT) << (regno - FP_REG_FIRST);
+ frame->fmask |= ~(~0U << MAX_FPRS_PER_FMT) << (regno - FP_REG_FIRST);
}
/* Move above the FPR save area. */