⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.172
Server IP:
217.21.90.168
Server:
Linux in-mum-web840.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
golang
/
1.17.2
/
test
/
fixedbugs
/
View File Name :
issue19113.go
// run // Copyright 2019 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. package main import "reflect" var tests = []interface{}{ func(x int, s int) int { return x << s }, func(x int, s int64) int { return x << s }, func(x int, s int32) int { return x << s }, func(x int, s int16) int { return x << s }, func(x int, s int8) int { return x << s }, func(x int, s int) int { return x >> s }, func(x int, s int64) int { return x >> s }, func(x int, s int32) int { return x >> s }, func(x int, s int16) int { return x >> s }, func(x int, s int8) int { return x >> s }, func(x uint, s int) uint { return x << s }, func(x uint, s int64) uint { return x << s }, func(x uint, s int32) uint { return x << s }, func(x uint, s int16) uint { return x << s }, func(x uint, s int8) uint { return x << s }, func(x uint, s int) uint { return x >> s }, func(x uint, s int64) uint { return x >> s }, func(x uint, s int32) uint { return x >> s }, func(x uint, s int16) uint { return x >> s }, func(x uint, s int8) uint { return x >> s }, } func main() { for _, t := range tests { runTest(reflect.ValueOf(t)) } } func runTest(f reflect.Value) { xt := f.Type().In(0) st := f.Type().In(1) for _, x := range []int{1, 0, -1} { for _, s := range []int{-99, -64, -63, -32, -31, -16, -15, -8, -7, -1, 0, 1, 7, 8, 15, 16, 31, 32, 63, 64, 99} { args := []reflect.Value{ reflect.ValueOf(x).Convert(xt), reflect.ValueOf(s).Convert(st), } if s < 0 { shouldPanic(func() { f.Call(args) }) } else { f.Call(args) // should not panic } } } } func shouldPanic(f func()) { defer func() { if recover() == nil { panic("did not panic") } }() f() }