From a0a14b98faf07d87a52c13b5ff08547703598972 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Thu, 4 Dec 2008 16:05:40 -0800 Subject: [PATCH] empty switches -- bug128 R=r OCL=20520 CL=20522 --- src/cmd/6g/gen.c | 2 ++ src/cmd/gc/walk.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/6g/gen.c b/src/cmd/6g/gen.c index 980122b0eb..137ad7ae0f 100644 --- a/src/cmd/6g/gen.c +++ b/src/cmd/6g/gen.c @@ -536,6 +536,8 @@ swgen(Node *n) c1 = listfirst(&save1, &n->nbody); while(c1 != N) { setlineno(c1); + if(c1->op == OEMPTY) + break; if(c1->op != OCASE) { if(s0 == C && dflt == P) yyerror("unreachable statements in a switch"); diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index 1c87e05eb0..da5917aa7f 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -277,9 +277,7 @@ loop: if(top != Etop) goto nottop; - if(!casebody(n->nbody)) - yyerror("switch statement must have case labels"); - + casebody(n->nbody); if(n->ntest == N) n->ntest = booltrue; walkstate(n->ninit); -- 2.50.0