else
DCL_PTR_CONST (newSym->type) = 1;
SPEC_STAT(newSym->etype)=1;
- resolveIvalSym(newSym->ival);
+ resolveIvalSym(newSym->ival, newSym->type);
// add it to the "XINIT (CODE)" segment
addSet(&xinit->syms, newSym);
sym->name);
}
ival = newNode ('=', newAst_VALUE (symbolVal (sym)),
- decorateType (resolveSymbols (list2expr (sym->ival))));
+ decorateType (resolveSymbols (list2expr (sym->ival)), RESULT_CHECK));
}
codeOutFile = statsg->oFile;
else
len = 0;
}
+ while (pplen < plen)
+ {
+ tfprintf (ofile, "\t!db !constbyte\n", 0);
+ pplen++;
+ }
}
/*-----------------------------------------------------------------*/
{
fprintf (out, "%s:\n", sym->rname);
noAlloc++;
- resolveIvalSym (sym->ival);
+ resolveIvalSym (sym->ival, sym->type);
printIval (sym, sym->type, sym->ival, out);
noAlloc--;
/* if sym is a simple string and sym->ival is a string,
fprintf (vFile, "\tljmp\t__sdcc_gsinit_startup\n");
-
/* now for the other interrupts */
for (; i < maxInterrupts; i++)
{
if (interrupts[i])
- fprintf (vFile, "\tljmp\t%s\n\t.ds\t5\n", interrupts[i]->rname);
+ {
+ fprintf (vFile, "\tljmp\t%s\n", interrupts[i]->rname);
+ if ( i != maxInterrupts - 1 )
+ fprintf (vFile, "\t.ds\t5\n");
+ }
else
- fprintf (vFile, "\treti\n\t.ds\t7\n");
+ {
+ fprintf (vFile, "\treti\n");
+ if ( i != maxInterrupts - 1 )
+ fprintf (vFile, "\t.ds\t7\n");
+ }
}
}
}