mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
gc: make sure main.main has correct type
R=ken2 CC=golang-dev https://golang.org/cl/883049
This commit is contained in:
parent
d77010547d
commit
fe7826858c
2 changed files with 10 additions and 3 deletions
|
|
@ -1070,11 +1070,18 @@ fndcl:
|
|||
$3 = checkarglist($3, 1);
|
||||
$$ = nod(ODCLFUNC, N, N);
|
||||
$$->nname = $1;
|
||||
if($3 == nil && $5 == nil)
|
||||
$$->nname = renameinit($1);
|
||||
n = nod(OTFUNC, N, N);
|
||||
n->list = $3;
|
||||
n->rlist = $5;
|
||||
if(strcmp($1->sym->name, "init") == 0) {
|
||||
$$->nname = renameinit($1);
|
||||
if($3 != nil || $5 != nil)
|
||||
yyerror("func init must have no arguments and no return values");
|
||||
}
|
||||
if(strcmp(localpkg->name, "main") == 0 && strcmp($1->sym->name, "main") == 0) {
|
||||
if($3 != nil || $5 != nil)
|
||||
yyerror("func main must have no arguments and no return values");
|
||||
}
|
||||
// TODO: check if nname already has an ntype
|
||||
$$->nname->ntype = n;
|
||||
funchdr($$);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@
|
|||
|
||||
package main
|
||||
|
||||
func main (x int) { // GCCGO_ERROR "previous"
|
||||
func f (x int) { // GCCGO_ERROR "previous"
|
||||
var x int; // ERROR "redecl|redefinition"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue