- param count pushed is now cell based, not byte based

- removed .. for cases

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40106
This commit is contained in:
David Anderson 2006-10-06 17:03:33 +00:00
parent c6f60dbd6c
commit cfcb4d288b
2 changed files with 5 additions and 21 deletions

View File

@ -4459,7 +4459,7 @@ static void destructsymbols(symbol *root,int level)
address(sym,sPRI);
addconst(offset); /* add offset to array data to the address */
pushreg(sPRI);
pushval(2*sizeof(cell));/* 2 parameters */
pushval(2 /* *sizeof(cell)*/ );/* 2 parameters */
assert(opsym->ident==iFUNCTN);
ffcall(opsym,NULL,1);
if (sc_status!=statSKIP)
@ -5231,23 +5231,7 @@ static void doswitch(void)
assert(csp->next==cse);
insert_constval(csp,cse,itoh(lbl_case),val,0);
if (matchtoken(tDBLDOT)) {
cell end;
constexpr(&end,NULL,NULL);
if (end<=val)
error(50); /* invalid range */
while (++val<=end) {
casecount++;
/* find the new insertion point */
for (csp=&caselist, cse=caselist.next;
cse!=NULL && cse->value<val;
csp=cse, cse=cse->next)
/* nothing */;
if (cse!=NULL && cse->value==val)
error(40,val); /* duplicate "case" label */
assert(csp!=NULL);
assert(csp->next==cse);
insert_constval(csp,cse,itoh(lbl_case),val,0);
} /* if */
error(1, ":", "..");
} /* if */
} while (matchtoken(','));
needtoken(':'); /* ':' ends the case */

View File

@ -13,7 +13,7 @@
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software in
* a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* appreciated but is not reeq;quired.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
@ -354,7 +354,7 @@ static void (*unopers[])(void) = { lneg, neg, user_inc, user_dec };
assert(0);
} /* switch */
markexpr(sPARM,NULL,0); /* mark the end of a sub-expression */
pushval((cell)paramspassed*sizeof(cell));
pushval((cell)paramspassed /* *sizeof(cell)*/ );
assert(sym->ident==iFUNCTN);
ffcall(sym,NULL,paramspassed);
if (sc_status!=statSKIP)
@ -2453,7 +2453,7 @@ static int nesting=0;
arglist[argidx]=ARG_DONE;
} /* for */
stgmark(sENDREORDER); /* mark end of reversed evaluation */
pushval((cell)nargs*sizeof(cell));
pushval((cell)nargs /* *sizeof(cell)*/ );
nest_stkusage++;
ffcall(sym,NULL,nargs);
if (sc_status!=statSKIP)