From: Ken Thompson Date: Fri, 3 Apr 2009 01:06:43 +0000 (-0700) Subject: compiler falut for forgetting X-Git-Tag: weekly.2009-11-06~1903 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9efd6b8a3d4d9b8336abf37d63487aded193b8b2;p=gostls13.git compiler falut for forgetting the assignment on a type switch R=r OCL=27048 CL=27048 --- diff --git a/src/cmd/gc/swt.c b/src/cmd/gc/swt.c index 70d1a9e477..263496701f 100644 --- a/src/cmd/gc/swt.c +++ b/src/cmd/gc/swt.c @@ -763,6 +763,13 @@ typeswitch(Node *sw) Case *c, *c0, *c1; int ncase; + if(sw->ntest == nil) + return; + if(sw->ntest->right == nil) { + setlineno(sw); + yyerror("type switch must have an assignment"); + return; + } walktype(sw->ntest->right, Erv); if(!istype(sw->ntest->right->type, TINTER)) { yyerror("type switch must be on an interface");