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
Showing
This diff is collapsed.
Click to expand it.
gcc/testsuite/gnat.dg/aliasing3.adb
0 → 100644
gcc/testsuite/gnat.dg/aliasing3_pkg.adb
0 → 100644
gcc/testsuite/gnat.dg/aliasing3_pkg.ads
0 → 100644
Please
register
or
sign in
to comment