From: Russ Cox Date: Tue, 22 Feb 2011 23:23:29 +0000 (-0500) Subject: gc: require if condition X-Git-Tag: weekly.2011-02-24~39 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=52943bfe4d1a85e64e35a5c1173ce04ae2b98bb6;p=gostls13.git gc: require if condition R=ken2, r2 CC=golang-dev https://golang.org/cl/4195045 --- diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index 86e3cae33c..4b838a4911 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -640,10 +640,15 @@ if_stmt: { markdcl(); } - if_header loop_body + if_header + { + if($3->ntest == N) + yyerror("missing condition in if statement"); + } + loop_body { $$ = $3; - $$->nbody = $4; + $$->nbody = $5; // no popdcl; maybe there's an LELSE } diff --git a/test/syntax/if.go b/test/syntax/if.go new file mode 100644 index 0000000000..913d418854 --- /dev/null +++ b/test/syntax/if.go @@ -0,0 +1,15 @@ +// errchk $G $D/$F.go + +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +func main() { + if { // ERROR "missing condition" + } + + if x(); { // ERROR "missing condition" + } +}