|
@@ -25,7 +25,7 @@ swit2(C1 *q, int nc, long def, Node *n, Node *tn)
|
|
|
}
|
|
|
if(nc < 5) {
|
|
|
for(i=0; i<nc; i++) {
|
|
|
- if(debug['W'])
|
|
|
+ if(debug['K'])
|
|
|
print("case = %.8llux\n", q->val);
|
|
|
gopcode(OEQ, nodconst(q->val), n, Z);
|
|
|
patch(p, q->label);
|
|
@@ -38,7 +38,7 @@ swit2(C1 *q, int nc, long def, Node *n, Node *tn)
|
|
|
|
|
|
i = nc / 2;
|
|
|
r = q+i;
|
|
|
- if(debug['W'])
|
|
|
+ if(debug['K'])
|
|
|
print("case > %.8llux\n", r->val);
|
|
|
gopcode(OGT, nodconst(r->val), n, Z);
|
|
|
sp = p;
|
|
@@ -46,7 +46,7 @@ swit2(C1 *q, int nc, long def, Node *n, Node *tn)
|
|
|
patch(p, r->label);
|
|
|
swit2(q, i, def, n, tn);
|
|
|
|
|
|
- if(debug['W'])
|
|
|
+ if(debug['K'])
|
|
|
print("case < %.8llux\n", r->val);
|
|
|
patch(sp, pc);
|
|
|
swit2(r+1, nc-i-1, def, n, tn);
|
|
@@ -59,7 +59,7 @@ direct:
|
|
|
gopcode(OCASE, nodconst((q+nc-1)->val - v), n, Z);
|
|
|
patch(p, def);
|
|
|
for(i=0; i<nc; i++) {
|
|
|
- if(debug['W'])
|
|
|
+ if(debug['K'])
|
|
|
print("case = %.8llux\n", q->val);
|
|
|
while(q->val != v) {
|
|
|
nextpc();
|
|
@@ -268,23 +268,6 @@ loop:
|
|
|
goto loop;
|
|
|
}
|
|
|
|
|
|
-void
|
|
|
-sextern(Sym *s, Node *a, long o, long w)
|
|
|
-{
|
|
|
- long e, lw;
|
|
|
-
|
|
|
- for(e=0; e<w; e+=NSNAME) {
|
|
|
- lw = NSNAME;
|
|
|
- if(w-e < lw)
|
|
|
- lw = w-e;
|
|
|
- gpseudo(ADATA, s, nodconst(0));
|
|
|
- p->from.offset += o+e;
|
|
|
- p->reg = lw;
|
|
|
- p->to.type = D_SCONST;
|
|
|
- memmove(p->to.sval, a->cstring+e, lw);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
void
|
|
|
gextern(Sym *s, Node *a, long o, long w)
|
|
|
{
|