1
0
mirror of https://github.com/golang/go synced 2024-11-25 01:08:02 -07:00

gc: don't fault on return outside function

Fixes #2598.

R=golang-dev, ality, minux.ma, mpimenov, rsc
CC=golang-dev
https://golang.org/cl/5510043
This commit is contained in:
Scott Lawrence 2012-01-16 18:12:25 -05:00 committed by Russ Cox
parent 3735cf7b09
commit b16f3a2d50
2 changed files with 11 additions and 1 deletions

View File

@ -1618,7 +1618,7 @@ non_dcl_stmt:
{
$$ = nod(ORETURN, N, N);
$$->list = $2;
if($$->list == nil) {
if($$->list == nil && curfn != N) {
NodeList *l;
for(l=curfn->dcl; l; l=l->next) {

10
test/fixedbugs/bug394.go Normal file
View File

@ -0,0 +1,10 @@
// 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.
// Issue 2598
package foo
return nil // ERROR "non-declaration statement outside function body"