aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c11
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 01b9d09..abeecb2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR bootstrap/6514
+ * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
+ for duplicates. Always loop over whole list.
+
Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* reload.c (find_reloads, case 'p'): Set BADOP to 0.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 8b22e16..84b4c48 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -5094,12 +5094,13 @@ globalize_decl (decl)
/* Remove this function from the pending weak list so that
we do not emit multiple .weak directives for it. */
- for (p = &weak_decls; (t = *p) ; p = &TREE_CHAIN (t))
- if (TREE_VALUE (t) == decl)
- {
+ for (p = &weak_decls; (t = *p) ; )
+ {
+ if (DECL_ASSEMBLER_NAME (decl) == DECL_ASSEMBLER_NAME (TREE_VALUE (t)))
*p = TREE_CHAIN (t);
- break;
- }
+ else
+ p = &TREE_CHAIN (t);
+ }
return;
}
#endif