Removed a bug that led to infinite looping in obscure cases.
This commit is contained in:
parent
300ac178de
commit
ceff6f834a
|
@ -71,6 +71,12 @@ getrefcount(regno) {
|
||||||
|
|
||||||
erasereg(regno) {
|
erasereg(regno) {
|
||||||
register struct reginfo *rp;
|
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
|
#if MAXMEMBERS==0
|
||||||
awayreg(regno);
|
awayreg(regno);
|
||||||
|
@ -86,11 +92,6 @@ awayreg(regno) {
|
||||||
register tkdef_p tdp;
|
register tkdef_p tdp;
|
||||||
register i;
|
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
|
/* Now erase recursively all registers containing
|
||||||
* something using this one
|
* something using this one
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue