summaryrefslogtreecommitdiff
path: root/src/cmd/gc/typecheck.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/typecheck.c')
-rw-r--r--src/cmd/gc/typecheck.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c
index 4e5b5bbcd..a7ea631e1 100644
--- a/src/cmd/gc/typecheck.c
+++ b/src/cmd/gc/typecheck.c
@@ -80,8 +80,10 @@ typecheck(Node **np, int top)
}
}
- if(n->typecheck == 2)
- fatal("typecheck loop");
+ if(n->typecheck == 2) {
+ yyerror("typechecking loop");
+ return n;
+ }
n->typecheck = 2;
redo:
@@ -355,9 +357,7 @@ reswitch:
if(iscmp[n->op]) {
n->etype = n->op;
n->op = OCMPSTR;
- } else if(n->op == OASOP)
- n->op = OAPPENDSTR;
- else if(n->op == OADD)
+ } else if(n->op == OADD)
n->op = OADDSTR;
}
if(et == TINTER) {