diff options
Diffstat (limited to 'src/cmd/gc/dcl.c')
| -rw-r--r-- | src/cmd/gc/dcl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cmd/gc/dcl.c b/src/cmd/gc/dcl.c index 66edab9b9..4a0e7430a 100644 --- a/src/cmd/gc/dcl.c +++ b/src/cmd/gc/dcl.c @@ -1303,6 +1303,14 @@ addmethod(Sym *sf, Type *t, int local) } pa = f; + if(pa->etype == TSTRUCT) { + for(f=pa->type; f; f=f->down) { + if(f->sym == sf) { + yyerror("type %T has both field and method named %S", pa, sf); + return; + } + } + } n = nod(ODCLFIELD, newname(sf), N); n->type = t; |
