From: uz Date: Thu, 18 Aug 2011 10:36:08 +0000 (+0000) Subject: Don't write out spans for line infos if no debug info is requested for the X-Git-Tag: V2.13.3~257 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4160505c591ae559587ceecb9a0779078ec16009;p=cc65 Don't write out spans for line infos if no debug info is requested for the object file. git-svn-id: svn://svn.cc65.org/cc65/trunk@5205 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/ca65/lineinfo.c b/src/ca65/lineinfo.c index 7c8bf68fe..7d8e33fe0 100644 --- a/src/ca65/lineinfo.c +++ b/src/ca65/lineinfo.c @@ -438,6 +438,8 @@ void WriteLineInfos (void) { unsigned I; + Collection EmptySpans = STATIC_COLLECTION_INITIALIZER; + /* Tell the object file module that we're about to write line infos */ ObjStartLineInfos (); @@ -456,12 +458,22 @@ void WriteLineInfos (void) /* Write the type and count of the line info */ ObjWriteVar (LI_MAKE_TYPE (LI->Key.Type, LI->Key.Count)); - /* Write the spans for this line */ - WriteSpans (&LI->Spans); + /* Spans are only added to the debug file if debug information is + * requested. Otherwise we write an empty list. + */ + if (DbgSyms) { + WriteSpans (&LI->Spans); + } else { + /* Write out an empty list */ + WriteSpans (&EmptySpans); + } } /* End of line infos */ ObjEndLineInfos (); + + /* For the sake of completeness, but not really necessary */ + DoneCollection (&EmptySpans); }