diff --git a/src/ca65/main.c b/src/ca65/main.c index 7183ff046..fedbb0d4b 100644 --- a/src/ca65/main.c +++ b/src/ca65/main.c @@ -858,7 +858,12 @@ static void OneLine (void) /* The line has switched the segment */ Size = 0; } - DefSizeOfSymbol (Sym, Size); + /* Suppress .size Symbol if this Symbol already has a multiply-defined error, + ** as it will only create its own additional unnecessary error. + */ + if ((Sym->Flags & SF_MULTDEF) == 0) { + DefSizeOfSymbol (Sym, Size); + } } /* Line separator must come here */