void
_printPointerType (FILE * oFile, const char *name)
{
- if (IS_DS390_PORT)
+ if (TARGET_IS_DS390)
{
fprintf (oFile, "\t.byte %s,(%s >> 8),(%s >> 16)", name, name, name);
}
}
}
-
- if (val->sym && val->sym->isstrlit)
+ if (val->sym && val->sym->isstrlit && !isinSet(statsg->syms, val->sym)) {
addSet (&statsg->syms, val->sym);
+ }
return 1;
}
}
else if (size == FPTRSIZE)
{
- tfprintf (oFile, "\t!dws\n", val->name);
+ if (port->use_dw_for_init) {
+ tfprintf (oFile, "\t!dws\n", val->name);
+ } else {
+ printPointerType (oFile, val->name);
+ }
}
else if (size == GPTRSIZE)
{
if (!options.c1mode)
{
sprintf (buffer, srcFileName);
- strcat (buffer, ".asm");
+ strcat (buffer, port->assembler.file_ext);
}
else
{