mirror of
https://github.com/golang/go
synced 2024-11-22 00:34:40 -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->nname = f;
|
||||||
n->type = ft;
|
n->type = ft;
|
||||||
if(body == nil)
|
if(body == nil)
|
||||||
body = list1(nod(ORETURN, N, N));
|
body = list1(nod(OEMPTY, N, N));
|
||||||
n->nbody = body;
|
n->nbody = body;
|
||||||
compile(n);
|
compile(n);
|
||||||
funcdepth--;
|
funcdepth--;
|
||||||
|
@ -1196,7 +1196,7 @@ fnbody:
|
|||||||
{
|
{
|
||||||
$$ = $2;
|
$$ = $2;
|
||||||
if($$ == nil)
|
if($$ == nil)
|
||||||
$$ = list1(nod(ORETURN, N, N));
|
$$ = list1(nod(OEMPTY, N, N));
|
||||||
yyoptsemi(0);
|
yyoptsemi(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,6 +18,6 @@ func g (x int) float ; // BUG this doesn't
|
|||||||
func g (x int) float { return 0.0 }
|
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) ; // BUG this doesn't
|
||||||
func h (x int) (u int, v int) {}
|
func h (x int) (u int, v int) { return; }
|
||||||
|
|
||||||
func main() {}
|
func main() {}
|
||||||
|
@ -7,9 +7,11 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
func f1() (x int, y float) {
|
func f1() (x int, y float) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
func f2 (x int, y float) {
|
func f2 (x int, y float) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
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