]> git.sur5r.net Git - cc65/commitdiff
Fixed a bug
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 29 Jul 2005 20:33:25 +0000 (20:33 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 29 Jul 2005 20:33:25 +0000 (20:33 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3558 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ld65/config.c

index 0a4df83e3f04c55be298fef4a1f9b5ddf04fac7d..140f80839a642492c044cec2910a287a6d2e14a7 100644 (file)
@@ -55,6 +55,7 @@
 #include "exports.h"
 #include "global.h"
 #include "o65.h"
+#include "objdata.h"
 #include "scanner.h"
 #include "spool.h"
 
@@ -1355,6 +1356,7 @@ static void ParseSymbols (void)
 
        long Val = 0L;
         int  Weak = 0;
+        Export* E;
 
        /* Remember the name */
        unsigned Name = GetStringId (CfgSVal);
@@ -1446,7 +1448,7 @@ static void ParseSymbols (void)
         }
 
         /* Check if the symbol is already defined */
-        if (FindExport (Name) != 0) {
+        if ((E = FindExport (Name)) != 0 && !IsUnresolvedExport (E)) {
             /* If the symbol is not marked as weak, this is an error.
              * Otherwise ignore the symbol from the config.
              */
@@ -1458,8 +1460,8 @@ static void ParseSymbols (void)
             CreateConstExport (Name, Val);
         }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+       /* Skip the semicolon */
+       CfgConsumeSemi ();
     }
 
     /* Remember we had this section */