From: Russ Cox Date: Tue, 11 Aug 2009 01:19:32 +0000 (-0700) Subject: fix indirect error X-Git-Tag: weekly.2009-11-06~915 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=7732f79daa92fc5d5a677db397fd92910899fa29;p=gostls13.git fix indirect error x.go:3: invalid indirect of X (type int) was x.go:3: invalid indirect of nil R=ken OCL=33008 CL=33008 --- diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index d4ee33d872..896f5f61d1 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -1215,7 +1215,9 @@ Nconv(Fmt *fp) } if(fp->flags & FmtSign) { - if(n->type == T || n->type->etype == TNIL) + if(n->type == T) + fmtprint(fp, "%#N", n); + else if(n->type->etype == TNIL) fmtprint(fp, "nil"); else fmtprint(fp, "%#N (type %T)", n, n->type); diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c index b041cf26f9..983ff78356 100644 --- a/src/cmd/gc/typecheck.c +++ b/src/cmd/gc/typecheck.c @@ -221,7 +221,7 @@ reswitch: goto ret; } if(!isptr[t->etype]) { - yyerror("invalid indirect of %+N", n); + yyerror("invalid indirect of %+N", n->left); goto error; } ok |= Erv;