aboutsummaryrefslogtreecommitdiff
path: root/test/fixedbugs/bug417.go
blob: a9acb42386addd897a8528332210e4ab549972fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 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
}