1
0
mirror of https://github.com/golang/go synced 2024-11-25 07:17:56 -07:00

gc: avoid saying same error 3 times

R=ken2
CC=golang-dev
https://golang.org/cl/4316051
This commit is contained in:
Russ Cox 2011-04-01 20:52:38 -04:00
parent 46137557c4
commit 6865cc0e8e
3 changed files with 5 additions and 3 deletions

View File

@ -136,7 +136,6 @@ convlit1(Node **np, Type *t, int explicit)
case CTNIL: case CTNIL:
switch(et) { switch(et) {
default: default:
yyerror("cannot use nil as %T", t);
n->type = T; n->type = T;
goto bad; goto bad;

View File

@ -2053,13 +2053,16 @@ Node*
assignconv(Node *n, Type *t, char *context) assignconv(Node *n, Type *t, char *context)
{ {
int op; int op;
Node *r; Node *r, *old;
char *why; char *why;
if(n == N || n->type == T) if(n == N || n->type == T)
return n; return n;
old = n;
old->diag++; // silence errors about n; we'll issue one below
defaultlit(&n, t); defaultlit(&n, t);
old->diag--;
if(t->etype == TBLANK) if(t->etype == TBLANK)
return n; return n;

View File

@ -15,7 +15,7 @@ var (
_ = sum() _ = sum()
_ = sum(1.0, 2.0) _ = sum(1.0, 2.0)
_ = sum(1.5) // ERROR "integer" _ = sum(1.5) // ERROR "integer"
_ = sum("hello") // ERROR "convert|incompatible" _ = sum("hello") // ERROR "string.*as type int|incompatible"
_ = sum([]int{1}) // ERROR "slice literal.*as type int|incompatible" _ = sum([]int{1}) // ERROR "slice literal.*as type int|incompatible"
) )