summaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-29 16:33:42 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-29 16:33:42 +0000
commitf3715c394a18acd035a5099880defb3c3ea0c664 (patch)
tree2169d53e1afa85a4fa8361bcf004fa7565e95f3e /gcc/expmed.c
parentbdb8985a03e817becc10fded135ac2c49e99bacc (diff)
downloadgcc-f3715c394a18acd035a5099880defb3c3ea0c664.tar.gz
* expmed.c (strict_volatile_bitfield_p): Fix off-by-one error.
* gcc.dg/20141029-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216844 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 2f53ecff102..7dabe75c8f4 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -457,7 +457,7 @@ strict_volatile_bitfield_p (rtx op0, unsigned HOST_WIDE_INT bitsize,
/* Check for cases where the C++ memory model applies. */
if (bitregion_end != 0
&& (bitnum - bitnum % modesize < bitregion_start
- || bitnum - bitnum % modesize + modesize > bitregion_end))
+ || bitnum - bitnum % modesize + modesize - 1 > bitregion_end))
return false;
return true;