summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/5l/pass.c16
-rw-r--r--src/cmd/6l/pass.c5
-rw-r--r--src/cmd/8l/pass.c4
3 files changed, 13 insertions, 12 deletions
diff --git a/src/cmd/5l/pass.c b/src/cmd/5l/pass.c
index 31af4468f..852a62048 100644
--- a/src/cmd/5l/pass.c
+++ b/src/cmd/5l/pass.c
@@ -343,10 +343,10 @@ patch(void)
s = p->to.sym;
switch(s->type) {
default:
- diag("undefined: %s\n%P", s->name, p);
+ diag("undefined: %s", s->name);
s->type = STEXT;
s->value = vexit;
- break;
+ continue; // avoid more error messages
case STEXT:
p->to.offset = s->value;
p->to.type = D_BRANCH;
@@ -559,7 +559,7 @@ reachable()
if(p == nil)
return;
s = p->from.sym;
- }
+ }
s->used = 1;
do{
todo = 0;
@@ -771,7 +771,7 @@ ckuse(Sym *s, Sym *s0, Use *u)
}
return 1;
}
-
+
static void
setuse(Sym *s, Sym *s0, Use *u)
{
@@ -786,7 +786,7 @@ setuse(Sym *s, Sym *s0, Use *u)
setfpuse(u->p, s0, s);
}
}
-
+
/* detect BX O(R) which can be done as BL O(R) */
void
fnptrs()
@@ -795,14 +795,14 @@ fnptrs()
Sym *s;
Prog *p;
Use *u;
-
+
for(i=0; i<NHASH; i++){
for(s = hash[i]; s != S; s = s->link){
if(s->fnptr && (s->type == STEXT || s->type == SLEAF || s->type == SCONST)){
// print("%s : fnptr %d %d\n", s->name, s->thumb, s->foreign);
}
}
- }
+ }
/* record use of syms */
for(p = firstp; p != P; p = p->link){
if(p->as == ATEXT)
@@ -827,7 +827,7 @@ fnptrs()
for(u = s->use; u != U; u = u->link)
setuse(s, s, u);
}
- }
+ }
}
}
diff --git a/src/cmd/6l/pass.c b/src/cmd/6l/pass.c
index 69b5c7115..3917ac542 100644
--- a/src/cmd/6l/pass.c
+++ b/src/cmd/6l/pass.c
@@ -377,10 +377,11 @@ patch(void)
Bprint(&bso, "%s calls %s\n", TNAME, s->name);
switch(s->type) {
default:
- diag("undefined: %s in %s", s->name, TNAME);
+ /* diag prints TNAME first */
+ diag("undefined: %s", s->name);
s->type = STEXT;
s->value = vexit;
- break; /* or fall through to set offset? */
+ continue; // avoid more error messages
case STEXT:
p->to.offset = s->value;
break;
diff --git a/src/cmd/8l/pass.c b/src/cmd/8l/pass.c
index fa6d6a00f..8a45f40a6 100644
--- a/src/cmd/8l/pass.c
+++ b/src/cmd/8l/pass.c
@@ -346,10 +346,10 @@ patch(void)
switch(s->type) {
default:
/* diag prints TNAME first */
- diag("%s is undefined", s->name);
+ diag("undefined: %s", s->name);
s->type = STEXT;
s->value = vexit;
- break; /* or fall through to set offset? */
+ continue; // avoid more error messages
case STEXT:
p->to.offset = s->value;
break;