summaryrefslogtreecommitdiff
path: root/utils/5l
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
committerforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
commitd67b7dad77bb8aa973dad1f7c3ab0c309b114278 (patch)
tree6794120fb327d6de19cf05eed53f80d877781a3e /utils/5l
parent09da2e137d5eb0c940df35d989e4c31ec0654fc4 (diff)
20100427-1251
Diffstat (limited to 'utils/5l')
-rw-r--r--utils/5l/obj.c2
-rw-r--r--utils/5l/thumb.c43
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)