code was added to cause generation of DO_RREMOVE in some cases
This commit is contained in:
parent
e9b6045b5a
commit
3534869cb5
1 changed files with 21 additions and 6 deletions
|
@ -41,6 +41,16 @@ struct varinfo * generase(n) {
|
||||||
return(vi);
|
return(vi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct varinfo * genremove(n) {
|
||||||
|
struct varinfo *vi;
|
||||||
|
|
||||||
|
NEW(vi,struct varinfo);
|
||||||
|
vi->vi_next = VI_NULL;
|
||||||
|
vi->vi_int[0] = INSREMOVE;
|
||||||
|
vi->vi_int[1] = n;
|
||||||
|
return(vi);
|
||||||
|
}
|
||||||
|
|
||||||
onlyreg(argno) {
|
onlyreg(argno) {
|
||||||
register bitno;
|
register bitno;
|
||||||
register short *sp;
|
register short *sp;
|
||||||
|
@ -157,23 +167,28 @@ found:
|
||||||
break;
|
break;
|
||||||
case IN_S_DESCR:
|
case IN_S_DESCR:
|
||||||
case IN_D_DESCR:
|
case IN_D_DESCR:
|
||||||
vi->vi_next = generase(
|
{ int temp;
|
||||||
ex_lookup(
|
|
||||||
EX_REGVAR,insta->in_info[1],0
|
temp=ex_lookup(EX_REGVAR,insta->in_info[1],0);
|
||||||
)
|
vi->vi_next = generase(temp);
|
||||||
);
|
vi = vi->vi_next;
|
||||||
|
vi->vi_next = genremove(temp);
|
||||||
vi = vi->vi_next;
|
vi = vi->vi_next;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (eravi=ip->i_erases;eravi != VI_NULL;eravi=eravi->vi_next) {
|
for (eravi=ip->i_erases;eravi != VI_NULL;eravi=eravi->vi_next) {
|
||||||
if (eravi->vi_int[0] < 0)
|
if (eravi->vi_int[0] < 0)
|
||||||
vi->vi_next = setcoco(0);
|
vi->vi_next = setcoco(0);
|
||||||
else
|
else {
|
||||||
vi->vi_next = generase(eravi->vi_int[0]);
|
vi->vi_next = generase(eravi->vi_int[0]);
|
||||||
vi=vi->vi_next;
|
vi=vi->vi_next;
|
||||||
|
vi->vi_next = genremove(eravi->vi_int[0]);
|
||||||
|
}
|
||||||
|
vi=vi->vi_next;
|
||||||
}
|
}
|
||||||
return(retval);
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue