From: eck Date: Thu, 26 Jul 1990 15:08:49 +0000 (+0000) Subject: fixed bug with state X-Git-Tag: release-5-5~1631 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=f32106225007b8452ac4889f407f1b7258e4eba3;p=ack.git fixed bug with state --- diff --git a/util/opt/pop_push.awk b/util/opt/pop_push.awk index ef3a6025c..b943457bd 100644 --- a/util/opt/pop_push.awk +++ b/util/opt/pop_push.awk @@ -9,8 +9,9 @@ BEGIN { print "#define CONDBRA '\001'" > "pop_push.h" } /aar/ { switch = NR } { if (switch) { - printf("\"%s\",\n",$3) + printf("/* %s */ \"%s\",\n",$1,$3) col_2[NR-switch] = $2 + comment[NR-switch] = $1 } } END { print "};" @@ -19,11 +20,11 @@ END { print "};" print "'\000'," for(i=0; i < NR-switch; i++) { inf = col_2[i] - f_out = "" - if (substr(inf,1,1)=="b") f_out = "HASLABEL|" + f_out = "/* " comment[i] " */ " + if (substr(inf,1,1)=="b") f_out = f_out "HASLABEL|" if (substr(inf,2,1)=="c") f_out = f_out "CONDBRA" else if (substr(inf,2,1)=="t") f_out = f_out "JUMP" - else f_out = "'\000'" + else f_out = f_out "'\000'" print f_out"," } print "};" diff --git a/util/opt/shc.c b/util/opt/shc.c index 7856e321a..eabf04af9 100644 --- a/util/opt/shc.c +++ b/util/opt/shc.c @@ -178,7 +178,6 @@ register lblst_p lst_elt; } } else { /* after a label */ stack_height = lst_elt->ll_height; - change_state(KNOWN); } } @@ -223,4 +222,5 @@ line_p lnp; } else if (ISCONDBRANCH(instr)) { /* conditional branch */ label->n_flags |= NUMCOND; } + if (state != NO_STACK_MES) change_state(KNOWN); }