sprintf (newSym->name, "_xinit_%s", sym->name);
sprintf (newSym->rname,"_xinit_%s", sym->rname);
SPEC_CONST(newSym->etype)=1;
- SPEC_STAT(newSym->etype)=1;
+ //SPEC_STAT(newSym->etype)=1;
addSym (SymbolTab, newSym, newSym->name, 0, 0, 1);
// add it to the "XINIT (CODE)" segment
allocIntoSeg (symbol * sym)
{
memmap *segment = SPEC_OCLS (sym->etype);
- // should we move this to the initialized data segment?
- if (port->genXINIT && segment==xdata &&
- sym->ival && sym->level==0 && !SPEC_ABSA(sym->etype)) {
- segment=SPEC_OCLS(sym->etype)=xidata;
- }
addSet (&segment->syms, sym);
}
if (SPEC_SCLS (sym->etype) == S_XDATA)
{
SPEC_OCLS (sym->etype) = xdata;
+ // should we move this to the initialized data segment?
+ if (port->genXINIT &&
+ sym->ival && (sym->level==0) && !SPEC_ABSA(sym->etype)) {
+ SPEC_OCLS(sym->etype)=xidata;
+ addSet(&xidata->syms, sym);
+ }
allocIntoSeg (sym);
return;
}