OSDN Git Service

(get_inner_reference): Use EXACT_DIV_EXPR to compute byte offset from
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Dec 1994 00:01:13 +0000 (00:01 +0000)
committerkenner <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

index fc6223e..dbdbaab 100644 (file)
@@ -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)));
            }
        }