Mercurial > hg > CbC > old > device
changeset 457:a7d76928e3c1
inline st_case, st_break
author | kono |
---|---|
date | Wed, 01 Dec 2004 22:04:36 +0900 |
parents | b8f95294eb77 |
children | 0bc9f3273aa7 |
files | mc-parse.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mc-parse.c Wed Dec 01 19:32:34 2004 +0900 +++ b/mc-parse.c Wed Dec 01 22:04:36 2004 +0900 @@ -2207,7 +2207,7 @@ conv->case_begin_(0,0); getsym(0); if (inmode) - clist=list2(cexpr(expr(1)),clist); + clist=list3(cexpr(expr(1)),clist,0); else clist=glist3(cexpr(expr(1)),clist,l); conv->case_(0,0); @@ -2215,6 +2215,7 @@ } if (inmode) { parse = list3(ST_CASE,parse,clist); + control=1; return; } if (retpending) { @@ -2266,6 +2267,7 @@ } if (inmode) { parse = list3(ST_CASE,parse,clist); + control=1; return; } l=fwdlabel(); @@ -2281,6 +2283,7 @@ cmpdimm(car(c),csvalue1,cslabel=fwdlabel(),1); if (l) fwddef(l); set_lfree(slfree); + /* control==1? */ #endif } @@ -2377,7 +2380,8 @@ if (t==FNAME) { nptr0 = (NMTBL *)cadr(e1); if (inmode) { - parse = list3(ST_GOTO,parse,list2(FLABEL,(int)nptr0->nm)); + parse = list3(ST_GOTO,parse, + list2(FLABEL,(int)get_name(nptr0->nm,0,0))); } else { t = nptr0->sc; if (t==EMPTY||t==EXTRN1||t==EXTRN) { @@ -2439,7 +2443,7 @@ if (!inmode) checkret(); if (inmode) - parse = list3(ST_LABEL,parse,(int)nptr->nm); + parse = list3(ST_LABEL,parse,(int)get_name(nptr->nm,0,0)); else { if(nptr->sc == FLABEL) { fwddef(nptr->dsp);