From ed6de5af4ca96405610753e2a57c537877149468 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 24 Sep 2009 17:55:22 -0700 Subject: [PATCH] comparisons have type bool R=ken OCL=34995 CL=34997 --- src/cmd/gc/typecheck.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c index 81ca117a14..a622024424 100644 --- a/src/cmd/gc/typecheck.c +++ b/src/cmd/gc/typecheck.c @@ -337,8 +337,8 @@ reswitch: goto badbinary; t = l->type; if(iscmp[n->op]) { - t = idealbool; evconst(n); + t = types[TBOOL]; if(n->op != OLITERAL) { defaultlit2(&l, &r, 1); n->left = l; @@ -567,7 +567,7 @@ reswitch: n->type = T; if(top & Erv) { n->op = OSENDNB; - n->type = idealbool; + n->type = types[TBOOL]; } goto ret; @@ -745,7 +745,7 @@ reswitch: goto error; } if(n->op == OCLOSED) { - n->type = idealbool; + n->type = types[TBOOL]; ok |= Erv; } else ok |= Etop; @@ -1196,7 +1196,7 @@ checkconv(Type *nt, Type *t, int explicit, int *op, int *et) *op = OCONV; *et = 0; - + // preexisting error if(t == T || t->etype == TFORW) @@ -1921,7 +1921,7 @@ typecheckas2(Node *n) n->op = OAS2MAPW; n->rlist->n = typecheckconv(nil, r, l->type->down, 0); r = n->rlist->next->n; - n->rlist->next->n = typecheckconv(nil, r, types[TBOOL], 1); + n->rlist->next->n = typecheckconv(nil, r, types[TBOOL], 0); goto out; } @@ -1971,7 +1971,7 @@ typecheckas2(Node *n) if(l->defn == n) l->type = r->type; l = n->list->next->n; - if(l->type != T && checkconv(idealbool, l->type, 0, &op, &et) < 0) + if(l->type != T && checkconv(types[TBOOL], l->type, 0, &op, &et) < 0) yyerror("cannot assign bool value to %+N", l); if(l->defn == n && l->ntype == N) l->type = types[TBOOL]; -- 2.48.1