1// compile 2 3// Copyright 2021 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// Issue 48916: expand_calls pass crashes due to a (dead) 8// use of an OpInvalid value. 9 10package p 11 12type T struct { 13 num int64 14} 15 16func foo(vs map[T]struct{}, d T) error { 17 _, ok := vs[d] 18 if !ok { 19 return nil 20 } 21 22 switch d.num { 23 case 0: 24 case 1: 25 case 2: 26 case 3: 27 case 4: 28 case 5: 29 case 6: 30 var num float64 31 if num != 0 { 32 return nil 33 } 34 } 35 36 return nil 37} 38