1// run 2 3// Copyright 2020 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 7package main 8 9func main() { 10 ff := []func(){lt_f1, lt_f2, lt_f3, lt_f4, lt_f5, lt_f6, lt_f7, lt_f8, lt_f9, 11 gt_f1, gt_f2, gt_f3, le_f1, le_f2, le_f3, ge_f1, ge_f2, ge_f3} 12 13 for _, f := range ff { 14 f() 15 } 16} 17 18func lt_f1() { 19 const c = 1 20 var a = 0 21 var v *int = &a 22 if *v-c < len([]int{}) { 23 } else { 24 panic("bad") 25 } 26} 27 28func lt_f2() { 29 const c = 10 30 var a = 0 31 var v *int = &a 32 if *v+c < len([]int{}) { 33 panic("bad") 34 } 35} 36 37func lt_f3() { 38 const c = -10 39 var a = 0 40 var v *int = &a 41 if *v|0xff+c < len([]int{}) { 42 panic("bad") 43 } 44} 45 46func lt_f4() { 47 const c = 10 48 var a = 0 49 var v *int = &a 50 if *v|0x0f+c < len([]int{}) { 51 panic("bad") 52 } 53} 54 55func lt_f5() { 56 const c int32 = 1 57 var a int32 = 0 58 var v *int32 = &a 59 if *v-c < int32(len([]int32{})) { 60 } else { 61 panic("bad") 62 } 63} 64 65func lt_f6() { 66 const c int32 = 10 67 var a int32 = 0 68 var v *int32 = &a 69 if *v+c < int32(len([]int32{})) { 70 panic("bad") 71 } 72} 73 74func lt_f7() { 75 const c int32 = -10 76 var a int32 = 0 77 var v *int32 = &a 78 if *v|0xff+c < int32(len([]int{})) { 79 panic("bad") 80 } 81} 82 83func lt_f8() { 84 const c int32 = 10 85 var a int32 = 0 86 var v *int32 = &a 87 if *v|0x0f+c < int32(len([]int{})) { 88 panic("bad") 89 } 90} 91 92func lt_f9() { 93 const c int32 = -10 94 var a int32 = 0 95 var v *int32 = &a 96 if *v|0x0a+c < int32(len([]int{})) { 97 panic("bad") 98 } 99} 100 101func gt_f1() { 102 const c = 1 103 var a = 0 104 var v *int = &a 105 if len([]int{}) > *v-c { 106 } else { 107 panic("bad") 108 } 109} 110 111func gt_f2() { 112 const c = 10 113 var a = 0 114 var v *int = &a 115 if len([]int{}) > *v|0x0f+c { 116 panic("bad") 117 } 118} 119 120func gt_f3() { 121 const c int32 = 10 122 var a int32 = 0 123 var v *int32 = &a 124 if int32(len([]int{})) > *v|0x0f+c { 125 panic("bad") 126 } 127} 128 129func le_f1() { 130 const c = -10 131 var a = 0 132 var v *int = &a 133 if *v|0xff+c <= len([]int{}) { 134 panic("bad") 135 } 136} 137 138func le_f2() { 139 const c = 0xf 140 var a = 0 141 var v *int = &a 142 if *v|0xf-c <= len([]int{}) { 143 } else { 144 panic("bad") 145 } 146} 147 148func le_f3() { 149 const c int32 = -10 150 var a int32 = 0 151 var v *int32 = &a 152 if *v|0xff+c <= int32(len([]int{})) { 153 panic("bad") 154 } 155} 156 157func ge_f1() { 158 const c = -10 159 var a = 0 160 var v *int = &a 161 if len([]int{}) >= *v|0xff+c { 162 panic("bad") 163 } 164} 165 166func ge_f2() { 167 const c int32 = 10 168 var a int32 = 0 169 var v *int32 = &a 170 if int32(len([]int{})) >= *v|0x0f+c { 171 panic("bad") 172 } 173} 174 175func ge_f3() { 176 const c = -10 177 var a = 0 178 var v *int = &a 179 if len([]int{}) >= *v|0x0a+c { 180 } else { 181 panic("bad") 182 } 183} 184