From: sandeep Date: Mon, 18 Sep 2000 16:49:26 +0000 (+0000) Subject: Fixed a parameter allocation bug X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=c89270b76b63181412bdb2631932e10cb44e56d8;hp=6907dd20079e7ba497fcd39949990880d93464be;p=fw%2Fsdcc Fixed a parameter allocation bug git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@375 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/SDCCmem.c b/src/SDCCmem.c index 2fb79e0b..cb71eedb 100644 --- a/src/SDCCmem.c +++ b/src/SDCCmem.c @@ -465,11 +465,15 @@ void allocParms ( value *val ) note here that we put it into the overlay segment first, we will remove it from the overlay segment after the overlay determination has been done */ - SPEC_OCLS(lval->etype) = SPEC_OCLS(lval->sym->etype) = - ( options.model == MODEL_SMALL ? port->mem.default_local_map : - (options.noOverlay ? port->mem.default_local_map - :overlay )); - + if (options.model == MODEL_SMALL) { + SPEC_OCLS(lval->etype) = SPEC_OCLS(lval->sym->etype) = + ( options.model == MODEL_SMALL ? port->mem.default_local_map : + (options.noOverlay ? port->mem.default_local_map + :overlay )); + } else { + SPEC_SCLS(lval->etype) = S_XDATA; + SPEC_OCLS(lval->etype) = SPEC_OCLS(lval->sym->etype) = xdata; + } allocIntoSeg(lval->sym); } }