OSDN Git Service

2002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
authorsirl <sirl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 May 2002 17:56:56 +0000 (17:56 +0000)
committersirl <sirl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 May 2002 17:56:56 +0000 (17:56 +0000)
PR bootstrap/6514
* varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
for duplicates. Always loop over whole list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53006 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/varasm.c

index 01b9d09..abeecb2 100644 (file)
@@ -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.
index 8b22e16..84b4c48 100644 (file)
@@ -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