Added function deleteFromSeg
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 19 Dec 2001 05:00:28 +0000 (05:00 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 19 Dec 2001 05:00:28 +0000 (05:00 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1711 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCmem.c
src/SDCCmem.h

index 18f51f8baa2d9aaed4d9c6adc71f5d226ff65f89..a0e137d4998f46178c3f452ce389a5f8117738cf 100644 (file)
@@ -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       */
 /*-----------------------------------------------------------------*/
index e4deb0cbcd9aaae965335b503d3d6692657ccfa3..8daf0921b005e4fbede30088dbc0ee3f96b5a147 100644 (file)
@@ -95,4 +95,5 @@ void overlay2data ();
 void redoStackOffsets ();
 void printAllocInfo (struct symbol *, FILE *);
 void doOverlays (struct eBBlock **, int count);
+void deleteFromSeg(struct symbol *);
 #endif