diff options
Diffstat (limited to 'vendor/modernc.org/libc/libc64.go')
-rw-r--r-- | vendor/modernc.org/libc/libc64.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vendor/modernc.org/libc/libc64.go b/vendor/modernc.org/libc/libc64.go index 54608928c..219255ea1 100644 --- a/vendor/modernc.org/libc/libc64.go +++ b/vendor/modernc.org/libc/libc64.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build ((amd64 || arm64 || loong64) && !linux) || ppc64le || riscv64 || s390x || mips64le +//go:build (!linux && !(386 || arm)) || mips64le package libc // import "modernc.org/libc" @@ -41,12 +41,12 @@ func Xstrchrnul(tls *TLS, s uintptr, c int32) (r uintptr) { var k types.Size_t var w uintptr _, _ = k, w - c = int32(uint8(uint8(c))) + c = int32(uint8(c)) if !(c != 0) { return s + uintptr(Xstrlen(tls, s)) } for { - if !(uint64(uint64(s))%Uint64FromInt64(8) != 0) { + if !(uint64(s)%Uint64FromInt64(8) != 0) { break } if !(*(*int8)(unsafe.Pointer(s)) != 0) || int32(*(*uint8)(unsafe.Pointer(s))) == c { @@ -56,7 +56,7 @@ func Xstrchrnul(tls *TLS, s uintptr, c int32) (r uintptr) { _1: s++ } - k = uint64(-Int32FromInt32(1)) / Uint64FromInt32(limits.UCHAR_MAX) * uint64(uint64(c)) + k = uint64(-Int32FromInt32(1)) / Uint64FromInt32(limits.UCHAR_MAX) * uint64(c) w = s for { if !(!((*(*uint64)(unsafe.Pointer(w))-uint64(-Int32FromInt32(1))/Uint64FromInt32(limits.UCHAR_MAX)) & ^*(*uint64)(unsafe.Pointer(w)) & (uint64(-Int32FromInt32(1))/Uint64FromInt32(limits.UCHAR_MAX)*uint64(Int32FromInt32(limits.UCHAR_MAX)/Int32FromInt32(2)+Int32FromInt32(1))) != 0) && !((*(*uint64)(unsafe.Pointer(w))^k-uint64(-Int32FromInt32(1))/Uint64FromInt32(limits.UCHAR_MAX)) & ^(*(*uint64)(unsafe.Pointer(w))^k) & (uint64(-Int32FromInt32(1))/Uint64FromInt32(limits.UCHAR_MAX)*uint64(Int32FromInt32(limits.UCHAR_MAX)/Int32FromInt32(2)+Int32FromInt32(1))) != 0)) { |