From: sandeep Date: Wed, 19 Dec 2001 05:00:28 +0000 (+0000) Subject: Added function deleteFromSeg X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=8ca6e6b0b974cbce5ae477ff71e64d5b3322bb3a;p=fw%2Fsdcc Added function deleteFromSeg git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1711 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/SDCCmem.c b/src/SDCCmem.c index 18f51f8b..a0e137d4 100644 --- a/src/SDCCmem.c +++ b/src/SDCCmem.c @@ -267,6 +267,19 @@ allocIntoSeg (symbol * sym) addSet (&segment->syms, sym); } +/*-----------------------------------------------------------------*/ +/* deleteFromSeg - deletes a symbol from segment used when a var */ +/* firest declared as "extern" then no extern */ +/*-----------------------------------------------------------------*/ +void deleteFromSeg(symbol *sym) +{ + if (SPEC_OCLS(sym->etype)) { + memmap *segment = SPEC_OCLS (sym->etype); + deleteSetItem(&segment->syms,sym); + } +} + + /*-----------------------------------------------------------------*/ /* allocGlobal - assigns the output segment to a global var */ /*-----------------------------------------------------------------*/ diff --git a/src/SDCCmem.h b/src/SDCCmem.h index e4deb0cb..8daf0921 100644 --- a/src/SDCCmem.h +++ b/src/SDCCmem.h @@ -95,4 +95,5 @@ void overlay2data (); void redoStackOffsets (); void printAllocInfo (struct symbol *, FILE *); void doOverlays (struct eBBlock **, int count); +void deleteFromSeg(struct symbol *); #endif