diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1ef253c4494b77bf5f04ba3b23d1fbf9b05e9331..29618da8ecdd6d20d7d9f2ebf4b378a97dc14d45 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2010-07-23 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interfaces/utils.c (update_pointer_to): In the unconstrained + array case, merge the alias set of the old pointer type. + 2010-07-23 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 7752edb4b6896f496233851f3d0ebf6b64f7ea36..eed426a3cd84d46acf2fba3f633a2006fd86a46c 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -3510,6 +3510,7 @@ update_pointer_to (tree old_type, tree new_type) DECL_FIELD_CONTEXT (bounds_field) = new_ptr; for (t = new_ptr; t; last = t, t = TYPE_NEXT_VARIANT (t)) TYPE_FIELDS (t) = TYPE_FIELDS (ptr); + TYPE_ALIAS_SET (new_ptr) = TYPE_ALIAS_SET (ptr); /* Chain PTR and its variants at the end. */ TYPE_NEXT_VARIANT (last) = TYPE_MAIN_VARIANT (ptr);