* src/pic16/glue.c (pic16_emitRegularMap): unused functions marked as
authorvrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 20 Jul 2004 12:50:09 +0000 (12:50 +0000)
committervrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 20 Jul 2004 12:50:09 +0000 (12:50 +0000)
external are not declared as extern to reduce overhead while linking

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3387 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/pic16/glue.c

index d92db723a0c14a7db1372b63935921910e61b88a..f59f1536014df40d7ed4d53c53e100e494ec9ad3 100644 (file)
@@ -142,6 +142,12 @@ pic16emitRegularMap (memmap * map, bool addPublics, bool arFlag)
 
                /* if extern then add to externs */
                if (IS_EXTERN (sym->etype)) {
+                       
+                       /* reduce overhead while linking by not declaring
+                        * extern unused external functions (usually declared
+                        * in header files) */
+                       if(IS_FUNC(sym->type) && !sym->used)continue;
+                       
                        checkAddSym(&externs, sym);
                        continue;
                }