summaryrefslogtreecommitdiff
path: root/limbo
diff options
context:
space:
mode:
Diffstat (limited to 'limbo')
-rw-r--r--limbo/ecom.c2
-rw-r--r--limbo/optim.c2
-rw-r--r--limbo/typecheck.c6
-rw-r--r--limbo/types.c82
4 files changed, 45 insertions, 47 deletions
diff --git a/limbo/ecom.c b/limbo/ecom.c
index 2dfa2f68..86417808 100644
--- a/limbo/ecom.c
+++ b/limbo/ecom.c
@@ -2372,7 +2372,6 @@ tupaliased(Node *n, Node *e)
return 1;
e = e->right;
}
- return 0;
}
/*
@@ -2390,7 +2389,6 @@ tupsaliased(Node *n, Node *e)
return 1;
n = n->right;
}
- return 0;
}
/*
diff --git a/limbo/optim.c b/limbo/optim.c
index c74f1432..324bed60 100644
--- a/limbo/optim.c
+++ b/limbo/optim.c
@@ -816,7 +816,7 @@ pins(Inst *i)
{
/* print("%L %ld ", i->src.start, i->pc); */
print(" %ld ", i->pc);
- if(i->op >= 0 && i->op < MAXDIS)
+ if(i->op < MAXDIS)
print("%s", instname[i->op]);
else
print("noop");
diff --git a/limbo/typecheck.c b/limbo/typecheck.c
index 0fcfbf4b..08bfef16 100644
--- a/limbo/typecheck.c
+++ b/limbo/typecheck.c
@@ -2148,7 +2148,6 @@ marklval(Node *n)
default:
return 0;
}
- return 0;
}
/*
@@ -2483,8 +2482,9 @@ if(debug['v']) print("fnlookup: %p\n", id);
mod = args0->left;
break;
}
- if(args0 != nil)
- args0 = args0->right;
+ if(args0 == nil)
+ break;
+ args0 = args0->right;
}
}
if(mod == nil && (dot = module(id)) != nil && !isimpmod(dot->sym))
diff --git a/limbo/types.c b/limbo/types.c
index 04115207..42b14289 100644
--- a/limbo/types.c
+++ b/limbo/types.c
@@ -2805,7 +2805,7 @@ tequal(Type *t1, Type *t2)
eqset = 0;
ok = rtequal(t1, t2);
v = cleareqrec(t1) + cleareqrec(t2);
- if(0 && v != eqset)
+ if(v != eqset && 0)
fatal("recid t1 %t and t2 %t not balanced in tequal: %d %d", t1, t2, v, eqset);
eqset = 0;
return ok;
@@ -3205,7 +3205,6 @@ if(debug['w']) print("rtunifyb - %T %T\n", t1, t2);
case Tpoly:
return t1 == t2;
}
- return 1;
}
static int
@@ -3314,48 +3313,50 @@ tpolys(Type *t)
if(t->flags&(POLY|NOPOLY))
return t->flags&POLY;
switch(t->kind){
- default:
- v = 0;
- break;
- case Tarrow:
- case Tdot:
- case Tpoly:
- v = 1;
- break;
- case Tref:
- case Tlist:
- case Tarray:
- case Tchan:
- v = tpolys(t->tof);
- break;
- case Tid:
- v = tpolys(t->decl->ty);
- break;
- case Tinst:
- for(tl = t->u.tlist; tl != nil; tl = tl->nxt)
- if(tpolys(tl->t)){
- v = 1;
- break;
- }
- v = tpolys(t->tof);
- break;
- case Tfn:
- case Tadt:
- case Tadtpick:
- case Ttuple:
- case Texception:
- if(t->polys != nil){
+ default:
+ v = 0;
+ break;
+ case Tarrow:
+ case Tdot:
+ case Tpoly:
+ v = 1;
+ break;
+ case Tref:
+ case Tlist:
+ case Tarray:
+ case Tchan:
+ v = tpolys(t->tof);
+ break;
+ case Tid:
+ v = tpolys(t->decl->ty);
+ break;
+ case Tinst:
+ v = 0;
+ for(tl = t->u.tlist; tl != nil; tl = tl->nxt)
+ if(tpolys(tl->t)){
v = 1;
break;
}
- if(t->rec&TRvis)
- return 0;
- t->rec |= TRvis;
- v = tpolys(t->tof) || dpolys(t->polys) || dpolys(t->ids) || dpolys(t->tags);
- t->rec &= ~TRvis;
- if(t->kind == Tadtpick && v == 0)
- v = tpolys(t->decl->dot->ty);
+ if(v == 0)
+ v = tpolys(t->tof);
+ break;
+ case Tfn:
+ case Tadt:
+ case Tadtpick:
+ case Ttuple:
+ case Texception:
+ if(t->polys != nil){
+ v = 1;
break;
+ }
+ if(t->rec&TRvis)
+ return 0;
+ t->rec |= TRvis;
+ v = tpolys(t->tof) || dpolys(t->polys) || dpolys(t->ids) || dpolys(t->tags);
+ t->rec &= ~TRvis;
+ if(t->kind == Tadtpick && v == 0)
+ v = tpolys(t->decl->dot->ty);
+ break;
}
if(v)
t->flags |= POLY;
@@ -4229,7 +4230,6 @@ tparent1(Type *t1, Type *t2)
return t1;
return t1->decl->dot->ty;
}
- return t1;
}
Type*