OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
22b7270
)
(get_inner_reference): Use EXACT_DIV_EXPR to compute byte offset from
author
kenner
<kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 1994 00:01:13 +0000
(
00:01
+0000)
committer
kenner
<kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 1994 00:01:13 +0000
(
00:01
+0000)
bit offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8654
138bc75d
-0d04-0410-961f-
82ee72b054a4
gcc/expr.c
patch
|
blob
|
history
diff --git
a/gcc/expr.c
b/gcc/expr.c
index
fc6223e
..
dbdbaab
100644
(file)
--- a/
gcc/expr.c
+++ b/
gcc/expr.c
@@
-3547,7
+3547,7
@@
get_inner_reference (exp, pbitsize, pbitpos, poffset, pmode,
*pbitpos += TREE_INT_CST_LOW (constant);
offset = size_binop (PLUS_EXPR, offset,
- size_binop (
FLOOR
_DIV_EXPR, var,
+ size_binop (
EXACT
_DIV_EXPR, var,
size_int (BITS_PER_UNIT)));
}
else if (TREE_CODE (pos) == INTEGER_CST)
@@
-3557,7
+3557,7
@@
get_inner_reference (exp, pbitsize, pbitpos, poffset, pmode,
/* Assume here that the offset is a multiple of a unit.
If not, there should be an explicitly added constant. */
offset = size_binop (PLUS_EXPR, offset,
- size_binop (
FLOOR
_DIV_EXPR, pos,
+ size_binop (
EXACT
_DIV_EXPR, pos,
size_int (BITS_PER_UNIT)));
}
}