git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1688
4a8a32a2-be11-0410-ad9d-
d568d2c75423
sprintf (newSym->name, "_xinit_%s", sym->name);
sprintf (newSym->rname,"_xinit_%s", sym->rname);
SPEC_CONST(newSym->etype)=1;
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
addSym (SymbolTab, newSym, newSym->name, 0, 0, 1);
// add it to the "XINIT (CODE)" segment
allocIntoSeg (symbol * sym)
{
memmap *segment = SPEC_OCLS (sym->etype);
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);
}
addSet (&segment->syms, sym);
}
if (SPEC_SCLS (sym->etype) == S_XDATA)
{
SPEC_OCLS (sym->etype) = xdata;
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;
}
allocIntoSeg (sym);
return;
}