From a3ae02b5b7ce745dddff851860771c3003a0c700 Mon Sep 17 00:00:00 2001 From: uz Date: Mon, 8 Aug 2011 21:07:45 +0000 Subject: [PATCH] Use symbolic names when writing the scope type to the debug info file. git-svn-id: svn://svn.cc65.org/cc65/trunk@5139 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- src/ld65/scopes.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/ld65/scopes.c b/src/ld65/scopes.c index 4f06b6d23..e548fcad5 100644 --- a/src/ld65/scopes.c +++ b/src/ld65/scopes.c @@ -100,7 +100,7 @@ Scope* ReadScope (FILE* F, ObjData* Obj, unsigned Id) unsigned ScopeCount (void) /* Return the total number of scopes */ -{ +{ /* Count scopes from all modules we have linked into the output file */ unsigned I; @@ -133,13 +133,26 @@ void PrintDbgScopes (FILE* F) const Scope* S = CollConstAt (&O->Scopes, J); fprintf (F, - "scope\tid=%u,name=\"%s\",mod=%u,type=%u", + "scope\tid=%u,name=\"%s\",mod=%u", O->ScopeBaseId + S->Id, GetString (S->Name), - I, - S->Type); + I); - /* Print the size if available */ + /* Print the type if not module */ + switch (S->Type) { + + case SCOPE_GLOBAL: fputs (",type=global", F); break; + case SCOPE_FILE: /* default */ break; + case SCOPE_SCOPE: fputs (",type=scope", F); break; + case SCOPE_STRUCT: fputs (",type=struct", F); break; + case SCOPE_ENUM: fputs (",type=enum", F); break; + + default: + Error ("Module `%s': Unknown scope type %u", + GetObjFileName (O), S->Type); + } + + /* Print the size if available */ if (S->Size != 0) { fprintf (F, ",size=%lu", S->Size); }