aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@redhat.com>2000-12-15 00:04:28 +0000
committerJim Wilson <wilson@gcc.gnu.org>2000-12-14 16:04:28 -0800
commit1d79fd2c8ab0c963886df0be73e58106dab29158 (patch)
tree3fd2ce908a160cb8c0e087b3025ea1142cfcaa20 /gcc
parent21c2ca6c2f90cab01e257f997ed8b13f30e188e3 (diff)
downloadgcc-1d79fd2c8ab0c963886df0be73e58106dab29158.zip
gcc-1d79fd2c8ab0c963886df0be73e58106dab29158.tar.gz
gcc-1d79fd2c8ab0c963886df0be73e58106dab29158.tar.bz2
Fix ia64-linux glibc miscompilation reported by H.J. Lu.
* alias.c (get_alias_set): Call record_component_aliases for COMPLEX_TYPE. (record_component_aliases): Handle COMPLEX_TYPE. From-SVN: r38264
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/alias.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d061e9f..70a0c02 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-12-14 Jim Wilson <wilson@redhat.com>
+
+ * alias.c (get_alias_set): Call record_component_aliases for
+ COMPLEX_TYPE.
+ (record_component_aliases): Handle COMPLEX_TYPE.
+
2000-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* fixinc/gnu-regex.c: Disable NLS.
diff --git a/gcc/alias.c b/gcc/alias.c
index 08d6f43..d11d1b3 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -448,7 +448,7 @@ get_alias_set (t)
/* If this is an aggregate type, we must record any component aliasing
information. */
- if (AGGREGATE_TYPE_P (t))
+ if (AGGREGATE_TYPE_P (t) || TREE_CODE (t) == COMPLEX_TYPE)
record_component_aliases (t);
return set;
@@ -555,6 +555,10 @@ record_component_aliases (type)
record_alias_subset (superset, get_alias_set (TREE_TYPE (field)));
break;
+ case COMPLEX_TYPE:
+ record_alias_subset (superset, get_alias_set (TREE_TYPE (type)));
+ break;
+
default:
break;
}