diff options
Diffstat (limited to 'src/cmd/5l/obj.c')
| -rw-r--r-- | src/cmd/5l/obj.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/5l/obj.c b/src/cmd/5l/obj.c index 763ddd758b..cb9ad9805e 100644 --- a/src/cmd/5l/obj.c +++ b/src/cmd/5l/obj.c @@ -664,7 +664,8 @@ loop: if(skip) goto casedef; - if(p->from.type == D_FCONST && chipfloat(&p->from.ieee) < 0) { + if(p->from.type == D_FCONST && chipfloat(&p->from.ieee) < 0 && + (chipzero(&p->from.ieee) < 0 || (p->scond & C_SCOND) != C_SCOND_NONE)) { /* size sb 9 max */ sprint(literal, "$%ux", ieeedtof(&p->from.ieee)); s = lookup(literal, 0); @@ -686,7 +687,8 @@ loop: if(skip) goto casedef; - if(p->from.type == D_FCONST && chipfloat(&p->from.ieee) < 0) { + if(p->from.type == D_FCONST && chipfloat(&p->from.ieee) < 0 && + (chipzero(&p->from.ieee) < 0 || (p->scond & C_SCOND) != C_SCOND_NONE)) { /* size sb 18 max */ sprint(literal, "$%ux.%ux", p->from.ieee.l, p->from.ieee.h); |
