mirror of
https://github.com/golang/go
synced 2024-11-22 06:34:40 -07:00
bug132
R=ken OCL=33792 CL=33803
This commit is contained in:
parent
92543daff1
commit
d66d65da96
@ -752,12 +752,13 @@ ok:
|
|||||||
Type**
|
Type**
|
||||||
stotype(NodeList *l, int et, Type **t)
|
stotype(NodeList *l, int et, Type **t)
|
||||||
{
|
{
|
||||||
Type *f, *t1;
|
Type *f, *t1, **t0;
|
||||||
Strlit *note;
|
Strlit *note;
|
||||||
int lno;
|
int lno;
|
||||||
NodeList *init;
|
NodeList *init;
|
||||||
Node *n;
|
Node *n;
|
||||||
|
|
||||||
|
t0 = t;
|
||||||
init = nil;
|
init = nil;
|
||||||
lno = lineno;
|
lno = lineno;
|
||||||
for(; l; l=l->next) {
|
for(; l; l=l->next) {
|
||||||
@ -837,6 +838,14 @@ stotype(NodeList *l, int et, Type **t)
|
|||||||
f->sym = f->nname->sym;
|
f->sym = f->nname->sym;
|
||||||
if(pkgimportname != S && !exportname(f->sym->name))
|
if(pkgimportname != S && !exportname(f->sym->name))
|
||||||
f->sym = pkglookup(f->sym->name, structpkg);
|
f->sym = pkglookup(f->sym->name, structpkg);
|
||||||
|
if(f->sym) {
|
||||||
|
for(t1=*t0; t1!=T; t1=t1->down) {
|
||||||
|
if(t1->sym == f->sym) {
|
||||||
|
yyerror("duplicate field %s", t1->sym->name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*t = f;
|
*t = f;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// ! $G $D/$F.go || echo BUG: compilation succeeds incorrectly
|
// errchk $G $D/$F.go
|
||||||
|
|
||||||
// Copyright 2009 The Go Authors. All rights reserved.
|
// Copyright 2009 The Go Authors. All rights reserved.
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
@ -7,7 +7,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
type T struct {
|
type T struct {
|
||||||
x, x int // this should be a compile-time error
|
x, x int // ERROR "duplicate"
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -18,7 +18,7 @@ tume error at the declaration point.
|
|||||||
|
|
||||||
/* Condensed e-mail thread:
|
/* Condensed e-mail thread:
|
||||||
|
|
||||||
---------- Russ Cox
|
---------- Russ Cox
|
||||||
I don't think this is an error as long as you don't refer to x. I like the fact that you could name
|
I don't think this is an error as long as you don't refer to x. I like the fact that you could name
|
||||||
multiple elements in the struct "pad".
|
multiple elements in the struct "pad".
|
||||||
|
|
@ -141,9 +141,6 @@ panic PC=xxx
|
|||||||
|
|
||||||
== bugs/
|
== bugs/
|
||||||
|
|
||||||
=========== bugs/bug132.go
|
|
||||||
BUG: compilation succeeds incorrectly
|
|
||||||
|
|
||||||
=========== bugs/bug136.go
|
=========== bugs/bug136.go
|
||||||
BUG: errchk: command succeeded unexpectedly
|
BUG: errchk: command succeeded unexpectedly
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user