diff options
Diffstat (limited to 'utils/5l')
| -rw-r--r-- | utils/5l/obj.c | 2 | ||||
| -rw-r--r-- | utils/5l/thumb.c | 43 |
2 files changed, 22 insertions, 23 deletions
diff --git a/utils/5l/obj.c b/utils/5l/obj.c index 2eadf877..35c5f558 100644 --- a/utils/5l/obj.c +++ b/utils/5l/obj.c @@ -844,7 +844,7 @@ loop: bloc += r; c -= r; - if(p->reg < 0 || p->reg > NREG) + if(p->reg > NREG) diag("register out of range %d", p->reg); p->link = P; diff --git a/utils/5l/thumb.c b/utils/5l/thumb.c index 9ec8ce5b..f16175ea 100644 --- a/utils/5l/thumb.c +++ b/utils/5l/thumb.c @@ -469,31 +469,30 @@ brextra(Prog *p) diag("bad op in brextra()"); c = thumbaclass(&p->to, p); switch(p->as){ - case AB: - if(c != C_SBRA) - return 0; - return 8-2+2; - case ABL: - if(c != C_SBRA) - return 0; - return 14-4+2; - case ABX: - if(c == C_REG || c == C_HREG) - return 0; + case AB: + if(c != C_SBRA) + return 0; + return 8-2+2; + case ABL: + if(c != C_SBRA) + return 0; + return 14-4+2; + case ABX: + if(c == C_REG || c == C_HREG) + return 0; #ifdef CALLEEBX - diag("ABX $I in brextra"); + diag("ABX $I in brextra"); #endif - if(c != C_SBRA) - return 0; - return 14-10+2; - default: - if(c == C_GBRA) - return 0; - if(c == C_LBRA) - return 10-4+2; - return 10-2+2; + if(c != C_SBRA) + return 0; + return 14-10+2; + default: + if(c == C_GBRA) + return 0; + if(c == C_LBRA) + return 10-4+2; + return 10-2+2; } - return 0; } #define high(r) ((r)>=8) |
