aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2005-11-10 19:54:06 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2005-11-10 19:54:06 +0000
commita114b4554754a058d8e686b7ee41423ef35b3dcb (patch)
treef8f98fef04809315728636026eec5bd62f1d0fa8
parentf5d7990b73bad33f36b34d5f36492a6d5e3912b5 (diff)
downloadgcc-a114b4554754a058d8e686b7ee41423ef35b3dcb.zip
gcc-a114b4554754a058d8e686b7ee41423ef35b3dcb.tar.gz
gcc-a114b4554754a058d8e686b7ee41423ef35b3dcb.tar.bz2
re PR target/24778 (Assembler errors during bootstrap)
PR target/24778 * varasm.c (assemble_name): Recompute name only for transparent aliases. From-SVN: r106749
-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 6acce34..c5f5bba 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 e937e65..ac511f6 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));
}