From: Russ Cox Date: Wed, 30 Sep 2009 04:23:34 +0000 (-0700) Subject: missing error checking related to ([...]int){...} X-Git-Tag: weekly.2009-11-06~449 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e7f9452da57a275e5ccb0d9842a42cdaf08952e4;p=gostls13.git missing error checking related to ([...]int){...} R=ken OCL=35132 CL=35132 --- diff --git a/src/cmd/gc/dcl.c b/src/cmd/gc/dcl.c index 356314296c..bc8362d284 100644 --- a/src/cmd/gc/dcl.c +++ b/src/cmd/gc/dcl.c @@ -323,7 +323,7 @@ variter(NodeList *vl, Node *t, NodeList *el) declare(v, dclcontext); v->ntype = t; - if(e != N || funcdepth > 0) { + if(e != N || funcdepth > 0 || isblank(v)) { if(funcdepth > 0) init = list(init, nod(ODCL, v, N)); e = nod(OAS, v, e); diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c index a622024424..f1271408a8 100644 --- a/src/cmd/gc/typecheck.c +++ b/src/cmd/gc/typecheck.c @@ -1010,6 +1010,11 @@ ret: case TNIL: case TBLANK: break; + case TARRAY: + if(t->bound == -100) { + yyerror("use of [...] array outside of array literal"); + t->bound = 1; + } default: checkwidth(t); }