aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-03-09 09:28:02 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-03-09 09:28:02 +0000
commit0d7de0e10b5ca459aecadd115cd818e161c3db3f (patch)
tree118dcac148376d9060365be8e9e9370aa8d37894 /gcc/ada/gcc-interface/ada-tree.h
parent210ac0b75b991788e1de7989fe7ea6d86bf41ab3 (diff)
downloadgcc-0d7de0e10b5ca459aecadd115cd818e161c3db3f.zip
gcc-0d7de0e10b5ca459aecadd115cd818e161c3db3f.tar.gz
gcc-0d7de0e10b5ca459aecadd115cd818e161c3db3f.tar.bz2
ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
* gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around. (TYPE_UNCONSTRAINED_ARRAY): Adjust comment. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy up. Add comment and use canonical predicate for thin pointers. (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment and use canonical predicate for thin pointers. * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous 'else' and use standard name. (convert_to_thin_pointer): Delete. (convert) <POINTER_TYPE>: Do the difference in sizetype directly and change obsolete idioms. Do not call above function. (unchecked_convert): Fix formatting. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin pointer case, use byte_position to get the field position. From-SVN: r185132
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.h')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 9a48ed7..ec00cc4 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -124,17 +124,17 @@ do { \
|| TREE_CODE (NODE) == ENUMERAL_TYPE) \
&& TYPE_BY_REFERENCE_P (NODE))
+/* For INTEGER_TYPE, nonzero if this really represents a VAX
+ floating-point type. */
+#define TYPE_VAX_FLOATING_POINT_P(NODE) \
+ TYPE_LANG_FLAG_3 (INTEGER_TYPE_CHECK (NODE))
+
/* For RECORD_TYPE, UNION_TYPE, and QUAL_UNION_TYPE, nonzero if this is the
type for an object whose type includes its template in addition to
its value (only true for RECORD_TYPE). */
#define TYPE_CONTAINS_TEMPLATE_P(NODE) \
TYPE_LANG_FLAG_3 (RECORD_OR_UNION_CHECK (NODE))
-/* For INTEGER_TYPE, nonzero if this really represents a VAX
- floating-point type. */
-#define TYPE_VAX_FLOATING_POINT_P(NODE) \
- TYPE_LANG_FLAG_3 (INTEGER_TYPE_CHECK (NODE))
-
/* True if NODE is a thin pointer. */
#define TYPE_IS_THIN_POINTER_P(NODE) \
(POINTER_TYPE_P (NODE) \
@@ -328,8 +328,10 @@ do { \
SET_TYPE_LANG_SPECIFIC (POINTER_TYPE_CHECK (NODE), X)
/* For a RECORD_TYPE that is a fat pointer, this is the type for the
- unconstrained object. Likewise for a RECORD_TYPE that is pointed
- to by a thin pointer. */
+ unconstrained array. Likewise for a RECORD_TYPE that is pointed
+ to by a thin pointer, if it is made for the unconstrained array
+ type itself; the field is NULL_TREE if the RECORD_TYPE is made
+ for a constrained subtype of the array type. */
#define TYPE_UNCONSTRAINED_ARRAY(NODE) \
GET_TYPE_LANG_SPECIFIC (RECORD_TYPE_CHECK (NODE))
#define SET_TYPE_UNCONSTRAINED_ARRAY(NODE, X) \