diff options
Diffstat (limited to 'src/cmd/8l/pass.c')
| -rw-r--r-- | src/cmd/8l/pass.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/cmd/8l/pass.c b/src/cmd/8l/pass.c index 82b2fb1f3d..01f04048b1 100644 --- a/src/cmd/8l/pass.c +++ b/src/cmd/8l/pass.c @@ -294,16 +294,18 @@ loop: if(a != ACALL) { q = brchain(p->link); if(q != P && q->mark) - if(a != ALOOP) { + if(a != ALOOP && a != ATEXT) { p->as = relinv(a); p->link = p->pcond; p->pcond = q; } xfol(p->link); - q = brchain(p->pcond); - if(q->mark) { - p->pcond = q; - return; + if(a != ATEXT) { + q = brchain(p->pcond); + if(q->mark) { + p->pcond = q; + return; + } } p = q; goto loop; |
