]> gcc.gnu.org Git - gcc.git/commit - gcc/alias.c
alias.h (record_alias_subset): Declare.
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 10 Feb 2009 22:52:51 +0000 (22:52 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 10 Feb 2009 22:52:51 +0000 (22:52 +0000)
commit794511d20a377c604fa6b0752ad9ba0e035ccfb0
treec6469e15d39deb72fd8e5bd7eaf74835dda07e18
parent493e377c04278267043c9320532792e1ea40ae14
alias.h (record_alias_subset): Declare.

* 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.

From-SVN: r144084
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/alias.c
gcc/alias.h
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/aliasing3.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/aliasing3_pkg.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/aliasing3_pkg.ads [new file with mode: 0644]
This page took 0.059062 seconds and 5 git commands to generate.