fixed bug with state
This commit is contained in:
parent
cef36d185e
commit
f321062250
2 changed files with 6 additions and 5 deletions
|
@ -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 "};"
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue