aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2010-07-23 20:19:55 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2010-07-23 20:19:55 +0000
commita0bfea64bb2be9a8d697cca5ab099f2d251720d4 (patch)
tree71553c6a056ea4de36d6b1fceaa939faebe56c19 /gcc/ada
parent43afc04731d5549c01edbef81a65959565168ba5 (diff)
downloadgcc-a0bfea64bb2be9a8d697cca5ab099f2d251720d4.zip
gcc-a0bfea64bb2be9a8d697cca5ab099f2d251720d4.tar.gz
gcc-a0bfea64bb2be9a8d697cca5ab099f2d251720d4.tar.bz2
utils.c (update_pointer_to): In the unconstrained array case, merge the alias set of the old pointer type.
* gcc-interfaces/utils.c (update_pointer_to): In the unconstrained array case, merge the alias set of the old pointer type. From-SVN: r162488
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/utils.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1ef253c..29618da 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 7752edb..eed426a 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);