diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/function.c b/gcc/function.c index 40c5f57..c7ff587 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5133,8 +5133,8 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl, offset_ptr->var = 0; } if (where_pad != none - && (TREE_CODE (sizetree) != INTEGER_CST - || ((TREE_INT_CST_LOW (sizetree) * BITS_PER_UNIT) % PARM_BOUNDARY))) + && (!host_integerp (sizetree, 1) + || (tree_low_cst (sizetree, 1) * BITS_PER_UNIT) % PARM_BOUNDARY)) sizetree = round_up (sizetree, PARM_BOUNDARY / BITS_PER_UNIT); SUB_PARM_SIZE (*offset_ptr, sizetree); if (where_pad != downward) @@ -5173,8 +5173,8 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl, pad_below (offset_ptr, passed_mode, sizetree); if (where_pad != none - && (TREE_CODE (sizetree) != INTEGER_CST - || ((TREE_INT_CST_LOW (sizetree) * BITS_PER_UNIT) % PARM_BOUNDARY))) + && (!host_integerp (sizetree, 1) + || (tree_low_cst (sizetree, 1) * BITS_PER_UNIT) % PARM_BOUNDARY)) sizetree = round_up (sizetree, PARM_BOUNDARY / BITS_PER_UNIT); ADD_PARM_SIZE (*arg_size_ptr, sizetree); |