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);