From: Greg King Date: Mon, 12 May 2014 06:08:04 +0000 (-0400) Subject: Fixed a ca65 internal error that would show a message when a name is exported both... X-Git-Tag: V2.15~64^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c09c66c37297cba0ec6d3299d148fb4dac87b9ee;p=cc65 Fixed a ca65 internal error that would show a message when a name is exported both outside and inside a scope. Jeremy Turner described the bug, on the original cc65 mailing list. It was fixed by Ullrich von Bassewitz. --- diff --git a/src/ca65/symtab.c b/src/ca65/symtab.c index 001d564ea..93d02c38a 100644 --- a/src/ca65/symtab.c +++ b/src/ca65/symtab.c @@ -6,7 +6,7 @@ /* */ /* */ /* */ -/* (C) 1998-2012, Ullrich von Bassewitz */ +/* (C) 1998-2014, Ullrich von Bassewitz */ /* Roemerstrasse 52 */ /* D-70794 Filderstadt */ /* EMail: uz@cc65.org */ @@ -505,17 +505,7 @@ static void SymCheckUndefined (SymEntry* S) "Symbol `%s' is already an import", GetString (Sym->Name)); } - if (Sym->Flags & SF_EXPORT) { - /* The symbol is already marked as an export. */ - if (Sym->AddrSize > S->ExportSize) { - /* We're exporting a symbol smaller than it actually is */ - LIWarning (&S->DefLines, 1, - "Symbol `%m%p' is %s but exported %s", - GetSymName (Sym), - AddrSizeToStr (Sym->AddrSize), - AddrSizeToStr (S->ExportSize)); - } - } else { + if ((Sym->Flags & SF_EXPORT) == 0) { /* Mark the symbol as an export */ Sym->Flags |= SF_EXPORT; Sym->ExportSize = S->ExportSize; @@ -525,7 +515,7 @@ static void SymCheckUndefined (SymEntry* S) } if (Sym->AddrSize > Sym->ExportSize) { /* We're exporting a symbol smaller than it actually is */ - LIWarning (&S->DefLines, 1, + LIWarning (&Sym->DefLines, 1, "Symbol `%m%p' is %s but exported %s", GetSymName (Sym), AddrSizeToStr (Sym->AddrSize),