summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6acce34bfec..c5f5bbae166 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-11-10 Alexandre Oliva <aoliva@redhat.com>
+
+ PR target/24778
+ * varasm.c (assemble_name): Recompute name only for transparent
+ aliases.
+
2005-11-10 Hans-Peter Nilsson <hp@axis.com>
* tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index e937e654b4a..ac511f658a9 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2042,9 +2042,12 @@ assemble_name (FILE *file, const char *name)
id = maybe_get_identifier (real_name);
if (id)
{
+ tree id_orig = id;
+
mark_referenced (id);
ultimate_transparent_alias_target (&id);
- name = IDENTIFIER_POINTER (id);
+ if (id != id_orig)
+ name = IDENTIFIER_POINTER (id);
gcc_assert (! TREE_CHAIN (id));
}