summaryrefslogtreecommitdiff
path: root/gcc/ada/gigi.h
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-11 19:43:02 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-11 19:43:02 +0000
commit9ba1ed5a8ff65cefe456fbdd48b7244800de1f87 (patch)
tree6794bfdde0fa3a761d0a915bf86007b0ca87d7e2 /gcc/ada/gigi.h
parentd2d8f66232a3fcc744de1107058fc3075769f795 (diff)
downloadgcc-9ba1ed5a8ff65cefe456fbdd48b7244800de1f87.tar.gz
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with
TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P. ada/ * decl.c (array_type_has_nonaliased_component): New predicate. (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to set the TYPE_NONALIASED_COMPONENT flag on the type. <E_Array_Subtype>: Likewise. * gigi.h (type_for_nonaliased_component_p): Declare. * utils.c (type_for_nonaliased_component_p): New predicate. (create_field_decl): Invoke the above predicate to set the DECL_NONADDRESSABLE_P flag on the field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128391 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gigi.h')
-rw-r--r--gcc/ada/gigi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/gigi.h b/gcc/ada/gigi.h
index 42e923391b5..97a1862a268 100644
--- a/gcc/ada/gigi.h
+++ b/gcc/ada/gigi.h
@@ -704,6 +704,10 @@ extern tree unchecked_convert (tree type, tree expr, bool notrunc_p);
the latter being a record type as predicated by Is_Record_Type. */
extern enum tree_code tree_code_for_record_type (Entity_Id);
+/* Return true if GNU_TYPE is suitable as the type of a non-aliased
+ component of an aggregate type. */
+extern bool type_for_nonaliased_component_p (tree);
+
/* Prepare expr to be an argument of a TRUTH_NOT_EXPR or other logical
operation.