diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-03-09 09:28:02 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-03-09 09:28:02 +0000 |
commit | 0d7de0e10b5ca459aecadd115cd818e161c3db3f (patch) | |
tree | 118dcac148376d9060365be8e9e9370aa8d37894 /gcc/ada/gcc-interface/ada-tree.h | |
parent | 210ac0b75b991788e1de7989fe7ea6d86bf41ab3 (diff) | |
download | gcc-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.h | 16 |
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) \ |