From: ceriel Date: Tue, 6 Jan 1987 18:49:00 +0000 (+0000) Subject: Removed a bug that led to infinite looping in obscure cases. X-Git-Tag: release-5-5~5057 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ceff6f834abe87f8e39b0624db5b75ce2e8e42ca;p=ack.git Removed a bug that led to infinite looping in obscure cases. --- diff --git a/mach/proto/cg/reg.c b/mach/proto/cg/reg.c index 4482dce10..bc94e896f 100644 --- a/mach/proto/cg/reg.c +++ b/mach/proto/cg/reg.c @@ -71,6 +71,12 @@ getrefcount(regno) { erasereg(regno) { register struct reginfo *rp; + register int i; + + rp = &machregs[regno]; + rp->r_contents.t_token = 0; + for (i=0;ir_contents.t_att[i].aw = 0; #if MAXMEMBERS==0 awayreg(regno); @@ -86,11 +92,6 @@ awayreg(regno) { register tkdef_p tdp; register i; - rp = &machregs[regno]; - rp->r_contents.t_token = 0; - for (i=0;ir_contents.t_att[i].aw = 0; - /* Now erase recursively all registers containing * something using this one */