- 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:
parent
c6f60dbd6c
commit
cfcb4d288b
@ -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 */
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user