aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2012-10-24 17:53:42 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2012-10-24 17:53:42 +0000
commitc1a4d0b580e3c394d1ff9790fa581590aa7e953f (patch)
tree9794601412742ed029b492d77890fc26d0784821
parent65875a301e702ee3cf7abf174f87a3e60d16974c (diff)
downloadgcc-c1a4d0b580e3c394d1ff9790fa581590aa7e953f.zip
gcc-c1a4d0b580e3c394d1ff9790fa581590aa7e953f.tar.gz
gcc-c1a4d0b580e3c394d1ff9790fa581590aa7e953f.tar.bz2
expmed.c (lowpart_bit_field_p): Add missing == 0 check.
gcc/ * expmed.c (lowpart_bit_field_p): Add missing == 0 check. From-SVN: r192772
-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 f19c1fc..73edac7 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 1708f57..6d9b133 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