From a0bfea64bb2be9a8d697cca5ab099f2d251720d4 Mon Sep 17 00:00:00 2001
From: Eric Botcazou <ebotcazou@adacore.com>
Date: Fri, 23 Jul 2010 20:19:55 +0000
Subject: [PATCH] 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
---
 gcc/ada/ChangeLog             | 5 +++++
 gcc/ada/gcc-interface/utils.c | 1 +
 2 files changed, 6 insertions(+)

diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1ef253c4494b..29618da8ecdd 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 7752edb4b689..eed426a3cd84 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);
-- 
GitLab