From 71c4244430a1fce2878f29537ef8c00f0d5a736f Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 18 Oct 2010 13:44:39 -0400 Subject: [PATCH] 5l: handle jump to middle of floating point sequence R=ken2 CC=golang-dev https://golang.org/cl/2473042 --- src/cmd/5l/softfloat.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/cmd/5l/softfloat.c b/src/cmd/5l/softfloat.c index 5284cf81e88..308a5fbeda1 100644 --- a/src/cmd/5l/softfloat.c +++ b/src/cmd/5l/softfloat.c @@ -19,8 +19,11 @@ softfloat(void) if(symsfloat->type == STEXT) psfloat = symsfloat->text; - wasfloat = 0; for(cursym = textp; cursym != nil; cursym = cursym->next) { + wasfloat = 0; + for(p = cursym->text; p != P; p = p->link) + if(p->cond != P) + p->cond->mark |= LABEL; for(p = cursym->text; p != P; p = p->link) { switch(p->as) { case AMOVWD: @@ -43,7 +46,7 @@ softfloat(void) case ADIVD: if (psfloat == P) diag("floats used with _sfloat not defined"); - if (!wasfloat) { + if (!wasfloat || (p->mark&LABEL)) { next = prg(); *next = *p;