#include <unistd.h>
#endif
-symbol *interrupts[256];
+symbol *interrupts[INTNO_MAX+1];
void printIval (symbol *, sym_link *, initList *, FILE *);
set *publics = NULL; /* public variables */
/* if extern then do nothing or is a function
then do nothing */
- if (IS_FUNC (sym->type))
+ if (IS_FUNC (sym->type) && !(sym->isitmp))
continue;
/* print extra debug info if required */
SPEC_OCLS(newSym->etype)=xinit;
SNPRINTF (newSym->name, sizeof(newSym->name), "__xinit_%s", sym->name);
SNPRINTF (newSym->rname, sizeof(newSym->rname), "__xinit_%s", sym->rname);
- SPEC_CONST(newSym->etype)=1;
+ if (IS_SPEC (newSym->type))
+ SPEC_CONST (newSym->type) = 1;
+ else
+ DCL_PTR_CONST (newSym->type) = 1;
SPEC_STAT(newSym->etype)=1;
resolveIvalSym(newSym->ival);