aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/utils.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2009-04-21 17:05:09 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-04-21 17:05:09 +0000
commitb4680ca1ec22b7c8b316fb1ccf8abe306ad398f9 (patch)
treeba7bd7f71baab2ae605732799c219e06e9ac1bbc /gcc/ada/gcc-interface/utils.c
parent350916301fe8afa02464e3ca84c70015ce2cf74b (diff)
downloadgcc-b4680ca1ec22b7c8b316fb1ccf8abe306ad398f9.zip
gcc-b4680ca1ec22b7c8b316fb1ccf8abe306ad398f9.tar.gz
gcc-b4680ca1ec22b7c8b316fb1ccf8abe306ad398f9.tar.bz2
ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
* ada-tree.h (TYPE_RM_SIZE_NUM): Delete. (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types. * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>: Remove useless support code for packed array types and assert its uselessness. <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and adjust for TYPE_RM_SIZE change. <all> Fix nits in comments. Use Original_Array_Type accessor instead of Associated_Node_For_Itype accessor for packed array types. (make_packable_type): Likewise. (maybe_pad_type): Likewise. (set_rm_size): Likewise. Rework conditional statement. Adjust for TYPE_RM_SIZE change. (make_type_from_size): Adjust for TYPE_RM_SIZE change. (rm_size): Fix nits in comments. Rework conditional statements. * misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE change. * trans.c (Attribute_to_gnu): Fix nits in comments. * utils.c (gnat_init_decl_processing): Use more appropriate function to initialize the size_type_node. Adjust for TYPE_RM_SIZE change. From-SVN: r146530
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r--gcc/ada/gcc-interface/utils.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 8802827..3375c40 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -515,18 +515,17 @@ gnat_init_decl_processing (void)
build_common_tree_nodes (true, true);
/* In Ada, we use a signed type for SIZETYPE. Use the signed type
- corresponding to the size of Pmode. In most cases when ptr_mode and
- Pmode differ, C will use the width of ptr_mode as sizetype. But we get
- far better code using the width of Pmode. Make this here since we need
- this before we can expand the GNAT types. */
- size_type_node = gnat_type_for_size (GET_MODE_BITSIZE (Pmode), 0);
+ corresponding to the width of Pmode. In most cases when ptr_mode
+ and Pmode differ, C will use the width of ptr_mode for SIZETYPE.
+ But we get far better code using the width of Pmode. */
+ size_type_node = gnat_type_for_mode (Pmode, 0);
set_sizetype (size_type_node);
/* In Ada, we use an unsigned 8-bit type for the default boolean type. */
boolean_type_node = make_node (BOOLEAN_TYPE);
TYPE_PRECISION (boolean_type_node) = 1;
fixup_unsigned_type (boolean_type_node);
- TYPE_RM_SIZE_NUM (boolean_type_node) = bitsize_int (1);
+ TYPE_RM_SIZE (boolean_type_node) = bitsize_int (1);
build_common_tree_nodes_2 (0);
@@ -2230,7 +2229,7 @@ gnat_types_compatible_p (tree t1, tree t2)
&& TREE_TYPE (t1) == TREE_TYPE (t2)
&& (TYPE_DOMAIN (t1) == TYPE_DOMAIN (t2)
|| (TYPE_DOMAIN (t1)
- && TYPE_DOMAIN (t2)
+ && TYPE_DOMAIN (t2)
&& tree_int_cst_equal (TYPE_MIN_VALUE (TYPE_DOMAIN (t1)),
TYPE_MIN_VALUE (TYPE_DOMAIN (t2)))
&& tree_int_cst_equal (TYPE_MAX_VALUE (TYPE_DOMAIN (t1)),
@@ -5176,10 +5175,10 @@ handle_type_generic_attribute (tree *node, tree ARG_UNUSED (name),
bool * ARG_UNUSED (no_add_attrs))
{
tree params;
-
+
/* Ensure we have a function type. */
gcc_assert (TREE_CODE (*node) == FUNCTION_TYPE);
-
+
params = TYPE_ARG_TYPES (*node);
while (params && ! VOID_TYPE_P (TREE_VALUE (params)))
params = TREE_CHAIN (params);