set *externs = NULL; /* Varibles that are declared as extern */
/* TODO: this should be configurable (DS803C90 uses more than 6) */
-int maxInterrupts = 6;
+unsigned maxInterrupts = 6;
int allocInfo = 1;
symbol *mainf;
extern char *VersionString;
/* if it is a float then it gets tricky */
/* otherwise it is fairly simple */
if (!IS_FLOAT (val->type)) {
- unsigned long v = floatFromVal (val);
+ unsigned long v = (unsigned long) floatFromVal (val);
v >>= (offset * 8);
switch (size) {
/* no of elements given and we */
/* have generated for all of them */
- if (!--lcnt)
+ if (!--lcnt) {
+ /* if initializers left */
+ if (iloop) {
+ werror (W_EXESS_ARRAY_INITIALIZERS, sym->name, sym->lineDef);
+ }
break;
+ }
}
/* if we have not been given a size */
void
emitMaps ()
{
+ inInitMode++;
/* no special considerations for the following
data, idata & bit & xdata */
emitRegularMap (data, TRUE, TRUE);
emitRegularMap (code, TRUE, FALSE);
emitStaticSeg (statsg, code->oFile);
+ inInitMode--;
}
/*-----------------------------------------------------------------*/
void
createInterruptVect (FILE * vFile)
{
- int i = 0;
+ unsigned i = 0;
mainf = newSymbol ("main", 0);
mainf->block = 0;
if (!options.c1mode)
{
- sprintf (buffer, srcFileName);
- strcat (buffer, port->assembler.file_ext);
+ sprintf (scratchFileName, srcFileName);
+ strcat (scratchFileName, port->assembler.file_ext);
}
else
{
- strcpy (buffer, options.out_name);
+ strcpy (scratchFileName, options.out_name);
}
- if (!(asmFile = fopen (buffer, "w")))
+ if (!(asmFile = fopen (scratchFileName, "w")))
{
- werror (E_FILE_OPEN_ERR, buffer);
+ werror (E_FILE_OPEN_ERR, scratchFileName);
exit (1);
}