utils.c (update_pointer_to): In the unconstrained array case, merge the alias set...
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 23 Jul 2010 20:19:55 +0000 (20:19 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 23 Jul 2010 20:19:55 +0000 (20:19 +0000)
* gcc-interfaces/utils.c (update_pointer_to): In the unconstrained
array case, merge the alias set of the old pointer type.

From-SVN: r162488

gcc/ada/ChangeLog
gcc/ada/gcc-interface/utils.c

index 1ef253c..29618da 100644 (file)
@@ -1,5 +1,10 @@
 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
        and recurse only for multidimensional array types instead.
 
index 7752edb..eed426a 100644 (file)
@@ -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);