mirror of
https://github.com/golang/go
synced 2024-11-21 23:44:39 -07:00
test: add new test of indirect type references
Similar to bug190, but without recursive reference. Crashed gccgo. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5672053
This commit is contained in:
parent
0724e5cefe
commit
aef23cc49e
32
test/fixedbugs/bug417.go
Normal file
32
test/fixedbugs/bug417.go
Normal file
@ -0,0 +1,32 @@
|
||||
// $G $D/$F.go || echo BUG: should compile
|
||||
|
||||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Some indirect uses of types crashed gccgo, because it assumed that
|
||||
// the size of the type was known before it had been computed.
|
||||
|
||||
package p
|
||||
|
||||
type S1 struct {
|
||||
p *[1]S3
|
||||
s [][1]S3
|
||||
m map[int][1]S3
|
||||
c chan [1]S3
|
||||
i interface { f([1]S3) [1]S3 }
|
||||
f func([1]S3) [1]S3
|
||||
}
|
||||
|
||||
type S2 struct {
|
||||
p *struct { F S3 }
|
||||
s []struct { F S3 }
|
||||
m map[int]struct { F S3 }
|
||||
c chan struct { F S3 }
|
||||
i interface { f(struct { F S3 }) struct { F S3 } }
|
||||
f func(struct { F S3 } ) struct { F S3 }
|
||||
}
|
||||
|
||||
type S3 struct {
|
||||
I int
|
||||
}
|
Loading…
Reference in New Issue
Block a user