From: Russ Cox Date: Fri, 16 Jan 2009 00:43:51 +0000 (-0800) Subject: catch export on func. X-Git-Tag: weekly.2009-11-06~2363 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=605d0746c5fdedc35b62eb2f3d470cb56e5fcecd;p=gostls13.git catch export on func. print names in message. R=ken OCL=22891 CL=22891 --- diff --git a/src/cmd/gc/export.c b/src/cmd/gc/export.c index 2b3a6f701f..13a481cab9 100644 --- a/src/cmd/gc/export.c +++ b/src/cmd/gc/export.c @@ -73,12 +73,14 @@ autoexport(Sym *s) return; if(exportname(s->name)) { if(dcladj != exportsym) - warn("uppercase missing export"); + warn("uppercase missing export: %S", s); exportsym(s); } else { - if(dcladj == exportsym) - warn("export missing uppercase"); - packagesym(s); + if(dcladj == exportsym) { + warn("export missing uppercase: %S", s); + exportsym(s); + } else + packagesym(s); } } diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index 1dd55523c0..a6ea498d42 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -186,6 +186,8 @@ xdcl: } | xfndcl { + if($1 != N && $1->nname != N && $1->type->thistuple == 0) + autoexport($1->nname->sym); $$ = N; } | LEXPORT { dcladj = exportsym; stksize = initstksize; } common_dcl @@ -205,8 +207,11 @@ xdcl: } | LEXPORT xfndcl { - if($2 != N && $2->nname != N) - exportsym($2->nname->sym); + if($2 != N && $2->nname != N) { + dcladj = exportsym; + autoexport($2->nname->sym); + dcladj = nil; + } $$ = N; } | LPACKAGE { warn("package is gone"); } xfndcl