aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Trippelsdorf <markus@trippelsdorf.de>2016-11-30 12:22:55 +0000
committerMarkus Trippelsdorf <trippels@gcc.gnu.org>2016-11-30 12:22:55 +0000
commit7d3d820693627633e4f8057e0405ccd5907d2ae0 (patch)
tree6c07702797f0cb34f07cfddf8f5867af5e4b138c
parent35323bd8654c0223a0f1513099da11beb94b3360 (diff)
downloadgcc-7d3d820693627633e4f8057e0405ccd5907d2ae0.zip
gcc-7d3d820693627633e4f8057e0405ccd5907d2ae0.tar.gz
gcc-7d3d820693627633e4f8057e0405ccd5907d2ae0.tar.bz2
Fix part of PR78555 - gcc/real.c:2890:25: runtime error: left shift of negative value -125
PR ipa/78555 * real.c (real_hash): Add cast to avoid left shifting of negative values. From-SVN: r243012
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/real.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8fd098b..2a33ff4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-30 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR ipa/78555
+ * real.c (real_hash): Add cast to avoid left
+ shifting of negative values.
+
2016-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78362
diff --git a/gcc/real.c b/gcc/real.c
index 66e88e2..eabe22d 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -2887,7 +2887,7 @@ real_hash (const REAL_VALUE_TYPE *r)
return h;
case rvc_normal:
- h |= REAL_EXP (r) << 3;
+ h |= (unsigned int)REAL_EXP (r) << 3;
break;
case rvc_nan: