From: Johan K. <joh...@id...> - 2001-09-11 15:19:24
|
Hi, I couldn't withdraw the challenge ... In SDCCast.c:InitAggregates(): If you now have the environmental variable "TRY_THE_NEW_INITIALIZER" set, AND compile with -mmcs51 AND --model-large AND have an initialized array in xseg, you can experience the new VERY EXPERIMENTAL way of how things COULD be done: memcpy cseg to xseg. This certainly solves bug #453727. Right now (under the pre-mentioned conditions) it emit's code in SDCCast.c:initAggregates() WHICH IS A MORTAL SIN, I know, but hey: this is experimental and won't hurt those who are not addressed. The point is that I can't figure out how to generate ast's for the memcpy call and insert it in the right place. Can use some help here. Please tell me what you think. Johan P.S. This is not what I think is the optimal solution. Every var now uses this whereas copying a special cseg to a <whatever>segment would be even much more efficient. /JK |