diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-common.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 004021f414a..6eb4be82d90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-08-09 Andrew Pinski <apinski@apple.com> + + * c-common.c (c_common_get_alias_set): Set the aliasing set of the type + which is found to be compatible before returning the aliasing set. + 2004-08-09 Daniel Jacobowitz <dan@debian.org> * ggc-zone.c (struct alloc_zone): Add statistics counters. diff --git a/gcc/c-common.c b/gcc/c-common.c index 868088f0e1c..09373dd05d8 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -2711,7 +2711,10 @@ c_common_get_alias_set (tree t) NULL); slot = htab_find_slot (type_hash_table, t, INSERT); if (*slot != NULL) - return TYPE_ALIAS_SET ((tree)*slot); + { + TYPE_ALIAS_SET (t) = TYPE_ALIAS_SET ((tree)*slot); + return TYPE_ALIAS_SET ((tree)*slot); + } else /* Our caller will assign and record (in t) a new alias set; all we need to do is remember t in the hash table. */ |