bug fix
authorceriel <none@none>
Fri, 20 Feb 1987 17:35:08 +0000 (17:35 +0000)
committerceriel <none@none>
Fri, 20 Feb 1987 17:35:08 +0000 (17:35 +0000)
mach/proto/ncg/reg.c

index 9f645fb..b71d06d 100644 (file)
@@ -73,17 +73,21 @@ erasereg(regno) {
        register struct reginfo *rp;
        register int i;
 
+#if MAXMEMBERS==0
        rp = &machregs[regno];
        rp->r_contents.t_token = 0;
        for (i=0;i<TOKENSIZE;i++)
                rp->r_contents.t_att[i].aw = 0;
 
-#if MAXMEMBERS==0
        awayreg(regno);
 #else
        for (rp=machregs+1;rp<machregs+NREGS;rp++)
-               if (rp->r_clash[regno>>4]&(1<<(regno&017)))
+               if (rp->r_clash[regno>>4]&(1<<(regno&017))) {
+                       rp->r_contents.t_token = 0;
+                       for (i=0;i<TOKENSIZE;i++)
+                               rp->r_contents.t_att[i].aw = 0;
                        awayreg(rp-machregs);
+               }
 #endif
 }