diff options
author | Russ Cox <rsc@golang.org> | 2009-01-15 16:43:51 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-01-15 16:43:51 -0800 |
commit | 2d362fdee74dadc6291270b8c957ec220d44531d (patch) | |
tree | 0f71bdd2cd681d597f6125a5db4a9537540eaf05 | |
parent | a5526565a66655a2ef70379658d7a6f9f1d4989e (diff) | |
download | golang-2d362fdee74dadc6291270b8c957ec220d44531d.tar.gz |
catch export on func.
print names in message.
R=ken
OCL=22891
CL=22891
-rw-r--r-- | src/cmd/gc/export.c | 10 | ||||
-rw-r--r-- | src/cmd/gc/go.y | 9 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/cmd/gc/export.c b/src/cmd/gc/export.c index 2b3a6f701..13a481cab 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 1dd55523c..a6ea498d4 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 |