From 5c18172365281469b415acb0091e2aef890ecd4a Mon Sep 17 00:00:00 2001 From: johanknol Date: Sat, 25 Jan 2003 14:45:45 +0000 Subject: [PATCH] A better fix for bug#661910 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2177 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 4 +++- src/SDCCast.c | 6 +----- src/SDCCglue.c | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 284c018b..27cd4f80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ -2003-01-25 +2003-01-25 + * src/SDCCglue.c: A better fix for bug #661910 + * src/SDCCast.c: A better fix for bug #661910 * src/SDCCglue.c (emitRegularMap): That was a little too efficient 2003-01-24 Bernhard Held diff --git a/src/SDCCast.c b/src/SDCCast.c index a831231c..b4933cb2 100644 --- a/src/SDCCast.c +++ b/src/SDCCast.c @@ -970,9 +970,7 @@ createIvalCharPtr (ast * sym, sym_link * type, ast * iexpr) { symbol *sym=AST_SYMBOL(iexpr); memmap *segment=SPEC_OCLS(sym->etype); - if (segment) { - deleteSetItem(&segment->syms, sym); - } + deleteSetItem(&segment->syms, sym); } return decorateType(resolveSymbols (rast)); @@ -1061,9 +1059,7 @@ gatherAutoInit (symbol * autoChain) /* resolve the symbols in the ival */ if (sym->ival) { - noAlloc++; resolveIvalSym (sym->ival); - noAlloc--; } /* if this is a static variable & has an */ diff --git a/src/SDCCglue.c b/src/SDCCglue.c index 59f82998..3be7fce5 100644 --- a/src/SDCCglue.c +++ b/src/SDCCglue.c @@ -1154,6 +1154,8 @@ emitStaticSeg (memmap * map, FILE * out) resolveIvalSym (sym->ival); printIval (sym, sym->type, sym->ival, out); noAlloc--; + // now we don't need sym->ival anymore + deleteSetItem(&map->syms, list2val(sym->ival)->sym); } else { /* allocate space */ -- 2.47.2