summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-10 19:54:06 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-10 19:54:06 +0000
commit98dab14123344c9f511718cf42ffd6d237e444eb (patch)
treef8f98fef04809315728636026eec5bd62f1d0fa8
parent495ef375f491e7d2aec1ec63ae9d4d75a3eca14c (diff)
downloadgcc-98dab14123344c9f511718cf42ffd6d237e444eb.tar.gz
PR target/24778
* varasm.c (assemble_name): Recompute name only for transparent aliases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106749 138bc75d-0d04-0410-961f-82ee72b054a4
-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));
}