From 1468899dc245d342fe730ebf13ba57fb9cfb64a5 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 20 Oct 2000 18:49:24 +0000 Subject: [PATCH] * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst. From-SVN: r36973 --- gcc/ChangeLog | 2 ++ gcc/function.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f30b24ff6f2..eb029e31145 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Fri Oct 20 13:33:16 2000 Richard Kenner + * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst. + * fold-const.c (force_fit_type): Unsigned values can overflow if they are sizetype. (int_const_binop): Don't use cache if overflows. diff --git a/gcc/function.c b/gcc/function.c index 40c5f57edaa..c7ff587394c 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); -- 2.30.2