| // run | 
 |  | 
 | // Copyright 2018 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. | 
 |  | 
 | // gccgo mishandled passing a struct with an empty field through | 
 | // reflect.Value.Call. | 
 |  | 
 | package main | 
 |  | 
 | import ( | 
 | 	"reflect" | 
 | ) | 
 |  | 
 | type Empty struct { | 
 | 	f1, f2 *byte | 
 | 	empty struct{} | 
 | } | 
 |  | 
 | func F(e Empty, s []string) { | 
 | 	if len(s) != 1 || s[0] != "hi" { | 
 | 		panic("bad slice") | 
 | 	} | 
 | } | 
 |  | 
 | func main() { | 
 | 	reflect.ValueOf(F).Call([]reflect.Value{ | 
 | 		reflect.ValueOf(Empty{}), | 
 | 		reflect.ValueOf([]string{"hi"}), | 
 | 	}) | 
 | } |