2003-01-24 <johan@CP255758-A>
+ * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
* src/SDCCast.c (createIvalCharPtr): fixed bug #661910
2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
newAst_VALUE (valueFromLit ((float) i))),
newAst_VALUE (valueFromLit (*s))));
- return decorateType (resolveSymbols (rast));
+ // now we don't need iexpr's symbol anymore
+ {
+ symbol *sym=AST_SYMBOL(iexpr);
+ memmap *segment=SPEC_OCLS(sym->etype);
+ deleteSetItem(&segment->syms, sym);
+ }
+
+ return decorateType(resolveSymbols (rast));
}
return NULL;
// a function's address will never change
return TRUE;
}
+ if (IS_AST_SYM_VALUE(cexpr) && IS_ARRAY(AST_SYMBOL(cexpr)->type)) {
+ // an array's address will never change
+ return TRUE;
+ }
if (IS_AST_SYM_VALUE(cexpr) &&
IN_CODESPACE(SPEC_OCLS(AST_SYMBOL(cexpr)->etype))) {
// a symbol in code space will never change
sprintf (newSym->rname,"__xinit_%s", sym->rname);
SPEC_CONST(newSym->etype)=1;
SPEC_STAT(newSym->etype)=1;
- resolveIvalSym(newSym->ival);
// add it to the "XINIT (CODE)" segment
addSet(&xinit->syms, newSym);