OSDN Git Service

(store_one_arg): Use int_size_in_bytes and expr_size when appropriate
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Mar 1993 01:20:32 +0000 (01:20 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Mar 1993 01:20:32 +0000 (01:20 +0000)
instead of size_in_bytes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3863 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/calls.c

index 009eda8..bd7b909 100644 (file)
@@ -2794,12 +2794,11 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
        }
       else
        {
-         register tree size = size_in_bytes (TREE_TYPE (pval));
          /* PUSH_ROUNDING has no effect on us, because
             emit_push_insn for BLKmode is careful to avoid it.  */
-         excess = (arg->size.constant - TREE_INT_CST_LOW (size)
+         excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval))
                    + partial * UNITS_PER_WORD);
-         size_rtx = expand_expr (size, NULL_RTX, VOIDmode, 0);
+         size_rtx = expr_size (TREE_TYPE (pval));
        }
 
       emit_push_insn (arg->value, arg->mode, TREE_TYPE (pval), size_rtx,