decl.c (maybe_pad_type): Use value_factor_p.
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 8 Mar 2008 20:01:58 +0000 (20:01 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 8 Mar 2008 20:01:58 +0000 (20:01 +0000)
* decl.c (maybe_pad_type): Use value_factor_p.

From-SVN: r133039

gcc/ada/ChangeLog
gcc/ada/decl.c

index 904d73085f673cb77741f09d80870d2c20989263..c3c9cadc2b82a27e2d2f52d139365f1e30ae7703 100644 (file)
@@ -1,3 +1,7 @@
+2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (maybe_pad_type): Use value_factor_p.
+
 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
 
        * lang.opt (nostdlib): Move around.
index c75de3f8af66b4f0d68208722dc1fd4bf637c4b1..c0306bdd8eff07b907bc3ee2cb7a5686f2353ed0 100644 (file)
@@ -5534,8 +5534,7 @@ maybe_pad_type (tree type, tree size, unsigned int align,
      with the specified alignment.  */
   if (!size
       && INTEGRAL_TYPE_P (type)
-      && host_integerp (orig_size, 1)
-      && (TREE_INT_CST_LOW (orig_size) % align) == 0)
+      && value_factor_p (orig_size, align))
     {
       type = copy_type (type);
       TYPE_ALIGN (type) = align;
@@ -5570,12 +5569,12 @@ maybe_pad_type (tree type, tree size, unsigned int align,
   if (align != 0
       && TREE_CODE (type) == RECORD_TYPE
       && TYPE_MODE (type) == BLKmode
-      && host_integerp (orig_size, 1)
+      && TREE_CODE (orig_size) == INTEGER_CST
       && compare_tree_int (orig_size, MAX_FIXED_MODE_SIZE) <= 0
       && (!size
          || (TREE_CODE (size) == INTEGER_CST
              && compare_tree_int (size, MAX_FIXED_MODE_SIZE) <= 0))
-      && tree_low_cst (orig_size, 1) % align == 0)
+      && value_factor_p (orig_size, align))
     type = make_packable_type (type, true);
 
   field  = create_field_decl (get_identifier ("F"), type, record, 0,