// compile

// Copyright 2010 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.

// Caused a gccgo crash on compilation.
// bug304.go: In function ‘p.f’:
// bug304.go:15:2: internal compiler error: in copy_tree_r, at tree-inline.c:4114

package p
type S struct {
	v interface{}
}
func g(e interface{}) { }
func f(s S) {
	g(s.v.(*int))
}
