aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.h
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/ada-tree.h
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/ada-tree.h')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 846dc90..8d1f6a8 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2008, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2009, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -162,6 +162,10 @@ struct lang_type GTY(()) {tree t; };
cico parameter passing mechanism refer to the routine gnat_to_gnu_entity. */
#define TYPE_CI_CO_LIST(NODE) TYPE_LANG_SLOT_1 (FUNCTION_TYPE_CHECK (NODE))
+/* For integral types, this is the RM Size of the type. */
+#define TYPE_RM_SIZE(NODE) \
+ TYPE_LANG_SLOT_1 (TREE_CHECK3 (NODE, ENUMERAL_TYPE, BOOLEAN_TYPE, INTEGER_TYPE))
+
/* For an INTEGER_TYPE with TYPE_MODULAR_P, this is the value of the
modulus. */
#define TYPE_MODULUS(NODE) GET_TYPE_LANG_SPECIFIC (INTEGER_TYPE_CHECK (NODE))
@@ -182,13 +186,6 @@ struct lang_type GTY(()) {tree t; };
#define SET_TYPE_DIGITS_VALUE(NODE, X) \
SET_TYPE_LANG_SPECIFIC (INTEGER_TYPE_CHECK (NODE), X)
-/* For numeric types, stores the RM_Size of the type. */
-#define TYPE_RM_SIZE_NUM(NODE) TYPE_LANG_SLOT_1 (NUMERICAL_TYPE_CHECK (NODE))
-
-#define TYPE_RM_SIZE(NODE) \
- (INTEGRAL_TYPE_P (NODE) || TREE_CODE (NODE) == REAL_TYPE \
- ? TYPE_RM_SIZE_NUM (NODE) : 0)
-
/* For a RECORD_TYPE that is a fat pointer, point to the type for the
unconstrained object. Likewise for a RECORD_TYPE that is pointed
to by a thin pointer. */