erasereg(regno) {
register struct reginfo *rp;
+ register int i;
+
+ 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);
register tkdef_p tdp;
register i;
- rp = &machregs[regno];
- rp->r_contents.t_token = 0;
- for (i=0;i<TOKENSIZE;i++)
- rp->r_contents.t_att[i].aw = 0;
-
/* Now erase recursively all registers containing
* something using this one
*/
if (rp->r_contents.t_token == -1) {
if (rp->r_contents.t_att[0].ar == regno)
erasereg(rp-machregs);
- } else {
+ } else if (rp->r_contents.t_token > 0) {
tdp= & tokens[rp->r_contents.t_token];
for (i=0;i<TOKENSIZE;i++)
if (tdp->t_type[i] == EV_REG &&