From 4e5e42a1c1a9eb757743648c48df70cbd42635db Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Mon, 23 May 2011 09:45:29 +0200 Subject: Imported Upstream version 2011.05.22 --- src/cmd/gc/swt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/cmd/gc/swt.c') diff --git a/src/cmd/gc/swt.c b/src/cmd/gc/swt.c index 6e8436c3c..c2968c44b 100644 --- a/src/cmd/gc/swt.c +++ b/src/cmd/gc/swt.c @@ -867,8 +867,11 @@ typecheckswitch(Node *n) case Etype: // type switch if(ll->n->op == OLITERAL && istype(ll->n->type, TNIL)) ; - else if(ll->n->op != OTYPE && ll->n->type != T) + else if(ll->n->op != OTYPE && ll->n->type != T) { yyerror("%#N is not a type", ll->n); + // reset to original type + ll->n = n->ntest->right; + } break; } } -- cgit v1.2.3