mirror of
https://github.com/golang/go
synced 2024-11-21 18:14:42 -07:00
do not insert implicit "return;" in empty function body
R=ken OCL=32239 CL=32239
This commit is contained in:
parent
b388d84013
commit
0b2683d1ee
@ -636,7 +636,7 @@ funclit1(Node *ntype, NodeList *body)
|
||||
n->nname = f;
|
||||
n->type = ft;
|
||||
if(body == nil)
|
||||
body = list1(nod(ORETURN, N, N));
|
||||
body = list1(nod(OEMPTY, N, N));
|
||||
n->nbody = body;
|
||||
compile(n);
|
||||
funcdepth--;
|
||||
|
@ -1196,7 +1196,7 @@ fnbody:
|
||||
{
|
||||
$$ = $2;
|
||||
if($$ == nil)
|
||||
$$ = list1(nod(ORETURN, N, N));
|
||||
$$ = list1(nod(OEMPTY, N, N));
|
||||
yyoptsemi(0);
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,6 @@ func g (x int) float ; // BUG this doesn't
|
||||
func g (x int) float { return 0.0 }
|
||||
|
||||
func h (x int) (u int, v int) ; // BUG this doesn't
|
||||
func h (x int) (u int, v int) {}
|
||||
func h (x int) (u int, v int) { return; }
|
||||
|
||||
func main() {}
|
||||
|
@ -7,9 +7,11 @@
|
||||
package main
|
||||
|
||||
func f1() (x int, y float) {
|
||||
return;
|
||||
}
|
||||
|
||||
func f2 (x int, y float) {
|
||||
return;
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
10
test/fixedbugs/bug171.go
Normal file
10
test/fixedbugs/bug171.go
Normal file
@ -0,0 +1,10 @@
|
||||
// errchk $G $D/$F.go
|
||||
|
||||
// Copyright 2009 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 f() int { } // ERROR "return"
|
||||
func g() (foo int) { } // ERROR "return"
|
Loading…
Reference in New Issue
Block a user