From 4160505c591ae559587ceecb9a0779078ec16009 Mon Sep 17 00:00:00 2001 From: uz Date: Thu, 18 Aug 2011 10:36:08 +0000 Subject: [PATCH] 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 --- src/ca65/lineinfo.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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); } -- 2.39.5