* function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 20 Oct 2000 18:49:24 +0000 (18:49 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 20 Oct 2000 18:49:24 +0000 (14:49 -0400)
From-SVN: r36973

gcc/ChangeLog
gcc/function.c

index f30b24ff6f28676934aa9b611bdcb6dfa56a3a06..eb029e31145e8e30550fee949f4fd935cb6c441b 100644 (file)
@@ -1,5 +1,7 @@
 Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * 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.
index 40c5f57edaaf9db0e948af1005d5496f878cd572..c7ff587394c5bf52afda039010ecd8a958c45eb1 100644 (file)
@@ -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);