summaryrefslogtreecommitdiff
path: root/gcc/alias.h
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-10 22:52:51 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-10 22:52:51 +0000
commit892fdb03d7e30bb1ae0285dffe744e71f2795f1a (patch)
treec6469e15d39deb72fd8e5bd7eaf74835dda07e18 /gcc/alias.h
parent849a3bb4d0cc89f2196dd7acc1041a4658b5e8b2 (diff)
downloadgcc-892fdb03d7e30bb1ae0285dffe744e71f2795f1a.tar.gz
* alias.h (record_alias_subset): Declare.
* alias.c (record_alias_subset): Make global. ada/ * gcc-interface/decl.c (enum alias_set_op): New enumeration. (copy_alias_set): Rename into... (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the underlying array of unconstrained arrays for the new type as well. If the old and new alias sets don't conflict, make one a subset of the other as per the OP parameter. (gnat_to_gnu_entity): Adjust calls to copy_alias_set. <E_Record_Type>: Do not copy the alias set for derived types. For all types, make the alias set of derived types a superset of that of their parent type. (make_aligning_type): Adjust calls to copy_alias_set. (make_packable_type): Likewise. * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>: Check for alias set conflict instead of strict equality to issue the warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144084 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.h')
-rw-r--r--gcc/alias.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/alias.h b/gcc/alias.h
index 3492d7ee6ca..dd197f0a68a 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -36,6 +36,7 @@ extern alias_set_type get_varargs_alias_set (void);
extern alias_set_type get_frame_alias_set (void);
extern bool component_uses_parent_alias_set (const_tree);
extern bool alias_set_subset_of (alias_set_type, alias_set_type);
+extern void record_alias_subset (alias_set_type, alias_set_type);
extern void record_component_aliases (tree);
extern int alias_sets_conflict_p (alias_set_type, alias_set_type);
extern int alias_sets_must_conflict_p (alias_set_type, alias_set_type);