diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2009-04-21 17:05:09 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2009-04-21 17:05:09 +0000 |
commit | b4680ca1ec22b7c8b316fb1ccf8abe306ad398f9 (patch) | |
tree | ba7bd7f71baab2ae605732799c219e06e9ac1bbc /gcc/ada/gcc-interface/utils.c | |
parent | 350916301fe8afa02464e3ca84c70015ce2cf74b (diff) | |
download | gcc-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.c | 17 |
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); |