From 892f6e652e935a3ea26713d709b7268dd38a5b2e Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sat, 8 Mar 2008 20:01:58 +0000 Subject: [PATCH] decl.c (maybe_pad_type): Use value_factor_p. * decl.c (maybe_pad_type): Use value_factor_p. From-SVN: r133039 --- gcc/ada/ChangeLog | 4 ++++ gcc/ada/decl.c | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 904d73085f6..c3c9cadc2b8 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2008-03-08 Eric Botcazou + + * decl.c (maybe_pad_type): Use value_factor_p. + 2008-03-08 Eric Botcazou * lang.opt (nostdlib): Move around. diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c index c75de3f8af6..c0306bdd8ef 100644 --- a/gcc/ada/decl.c +++ b/gcc/ada/decl.c @@ -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, -- 2.30.2