From c89270b76b63181412bdb2631932e10cb44e56d8 Mon Sep 17 00:00:00 2001 From: sandeep Date: Mon, 18 Sep 2000 16:49:26 +0000 Subject: [PATCH] Fixed a parameter allocation bug git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@375 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/SDCCmem.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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); } } -- 2.30.2