summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/expmed.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f19c1fc0bd9..73edac7b801 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (lowpart_bit_field_p): Add missing == 0 check.
+
2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/55049
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 1708f57f0be..6d9b13354cb 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -402,7 +402,7 @@ lowpart_bit_field_p (unsigned HOST_WIDE_INT bitnum,
enum machine_mode struct_mode)
{
if (BYTES_BIG_ENDIAN)
- return (bitnum % BITS_PER_UNIT
+ return (bitnum % BITS_PER_UNIT == 0
&& (bitnum + bitsize == GET_MODE_BITSIZE (struct_mode)
|| (bitnum + bitsize) % BITS_PER_WORD == 0));
else