Replaced cast (void **) with (void *) to avoid gcc 3 warning:
[fw/sdcc] / src / SDCCmem.c
index 6c5f0d87949cab378694c9c3b454d2d3894f05f4..5fe82651fe47e1de45281948dfc7140f71fca936 100644 (file)
@@ -325,9 +325,9 @@ allocGlobal (symbol * sym)
       SPEC_OCLS (sym->etype) = code;
       /* if this is an interrupt service routine
          then put it in the interrupt service array */
-      if (FUNC_ISISR (sym->type) && !options.noiv)
+      if (FUNC_ISISR (sym->type) && !options.noiv
+          && (FUNC_INTNO (sym->type) != INTNO_UNSPEC))
        {
-
          if (interrupts[FUNC_INTNO (sym->type)])
            werror (E_INT_DEFINED,
                    FUNC_INTNO (sym->type),
@@ -563,8 +563,9 @@ deallocParms (value * val)
       if (!lval->sym->isref)
        {
          lval->sym->allocreq = 0;
-         werror (W_NO_REFERENCE, currFunc->name,
-                 "function argument", lval->sym->name);
+           werror (W_NO_REFERENCE, 
+                   currFunc ? currFunc->name : "(unknown)",
+                   "function argument", lval->sym->name);
        }
 
       /* move the rname if any to the name for both val & sym */
@@ -741,7 +742,8 @@ deallocLocal (symbol * csym)
        }
       /* if not used give a warning */
       if (!sym->isref && !IS_STATIC (sym->etype))
-       werror (W_NO_REFERENCE, currFunc->name,
+       werror (W_NO_REFERENCE, 
+               currFunc ? currFunc->name : "(unknown)",
                "local variable", sym->name);
       /* now delete it from the symbol table */
       deleteSym (SymbolTab, sym, sym->name);
@@ -764,7 +766,7 @@ overlay2data ()
       allocIntoSeg (sym);
     }
 
-  setToNull ((void **) &overlay->syms);
+  setToNull ((void *) &overlay->syms);
 
 }
 
@@ -785,7 +787,7 @@ overlay2Set ()
       addSet (&oset, sym);
     }
 
-  setToNull ((void **) &overlay->syms);
+  setToNull ((void *) &overlay->syms);
   addSet (&ovrSetSets, oset);
 
 }