From 8ca6e6b0b974cbce5ae477ff71e64d5b3322bb3a Mon Sep 17 00:00:00 2001 From: sandeep Date: Wed, 19 Dec 2001 05:00:28 +0000 Subject: [PATCH] Added function deleteFromSeg git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1711 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/SDCCmem.c | 13 +++++++++++++ src/SDCCmem.h | 1 + 2 files changed, 14 insertions(+) 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 -- 2.30.2