Commit fe782685 authored by Russ Cox's avatar Russ Cox

gc: make sure main.main has correct type

R=ken2
CC=golang-dev
https://golang.org/cl/883049
parent d7701054
......@@ -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"
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment