diff options
Diffstat (limited to 'vendor/modernc.org/libc/musl_linux_386.go')
-rw-r--r-- | vendor/modernc.org/libc/musl_linux_386.go | 249 |
1 files changed, 168 insertions, 81 deletions
diff --git a/vendor/modernc.org/libc/musl_linux_386.go b/vendor/modernc.org/libc/musl_linux_386.go index 44a6d2fcd..c0197853f 100644 --- a/vendor/modernc.org/libc/musl_linux_386.go +++ b/vendor/modernc.org/libc/musl_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT. +// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT. package libc @@ -363,6 +363,49 @@ type size_t = uint32 /* <builtin>:9:23 */ type wchar_t = int32 /* <builtin>:15:24 */ +type uint16_t = uint16 /* alltypes.h:149:25 */ + +type uint32_t = uint32 /* alltypes.h:154:25 */ + +type uint64_t = uint64 /* alltypes.h:159:25 */ + +func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */ + return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24)) +} + +var table = [384]uint16{ + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), + (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x320) / 256) | ((0x320) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), + (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), + (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), + (uint16((((0x160) / 256) | ((0x160) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), + (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), + (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), + (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), + (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), + (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), + (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), + (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), + (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), + (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), + (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), + (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), + uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), +} /* __ctype_b_loc.c:9:29 */ + +var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */ + +func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */ + return uintptr(unsafe.Pointer(&ptable)) +} + func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */ return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5)))) } @@ -581,12 +624,6 @@ type intmax_t = int64 /* alltypes.h:139:25 */ type uint8_t = uint8 /* alltypes.h:144:25 */ -type uint16_t = uint16 /* alltypes.h:149:25 */ - -type uint32_t = uint32 /* alltypes.h:154:25 */ - -type uint64_t = uint64 /* alltypes.h:159:25 */ - type uintmax_t = uint64 /* alltypes.h:169:25 */ type int_fast8_t = int8_t /* stdint.h:22:16 */ @@ -1470,7 +1507,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float } // Lookup table for digit values. -1==255>=36 -> invalid -var table = [257]uint8{Uint8FromInt32(-1), +var table1 = [257]uint8{Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), @@ -1496,7 +1533,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64 var x uint32 var y uint64 var bs int32 - val = (uintptr(unsafe.Pointer(&table)) + uintptr(1)) + val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1)) neg = 0 if !((base > uint32(36)) || (base == uint32(1))) { goto __1 @@ -1827,11 +1864,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */ return c } +type lconv = struct { + decimal_point uintptr + thousands_sep uintptr + grouping uintptr + int_curr_symbol uintptr + currency_symbol uintptr + mon_decimal_point uintptr + mon_thousands_sep uintptr + mon_grouping uintptr + positive_sign uintptr + negative_sign uintptr + int_frac_digits int8 + frac_digits int8 + p_cs_precedes int8 + p_sep_by_space int8 + n_cs_precedes int8 + n_sep_by_space int8 + p_sign_posn int8 + n_sign_posn int8 + int_p_cs_precedes int8 + int_p_sep_by_space int8 + int_n_cs_precedes int8 + int_n_sep_by_space int8 + int_p_sign_posn int8 + int_n_sign_posn int8 + _ [2]byte +} /* locale.h:24:1 */ + +// Support signed or unsigned plain-char + +// Implementation choices... + +// Arbitrary numbers... + +// POSIX/SUS requirements follow. These numbers come directly +// from SUS and have nothing to do with the host system. + +var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: Int8FromInt32(255), frac_digits: Int8FromInt32(255), p_cs_precedes: Int8FromInt32(255), p_sep_by_space: Int8FromInt32(255), n_cs_precedes: Int8FromInt32(255), n_sep_by_space: Int8FromInt32(255), p_sign_posn: Int8FromInt32(255), n_sign_posn: Int8FromInt32(255), int_p_cs_precedes: Int8FromInt32(255), int_p_sep_by_space: Int8FromInt32(255), int_n_cs_precedes: Int8FromInt32(255), int_n_sep_by_space: Int8FromInt32(255), int_p_sign_posn: Int8FromInt32(255), int_n_sign_posn: Int8FromInt32(255)} /* localeconv.c:4:27 */ + +func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */ + return uintptr(unsafe.Pointer(&posix_lconv)) +} + func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */ bp := tls.Alloc(8) defer tls.Free(8) - *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x} + *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) { + *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x + return r + }() var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff))) if !(e != 0) { if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 { @@ -1852,7 +1935,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */ bp := tls.Alloc(4) defer tls.Free(4) - *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x} + *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) { + *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x + return r + }() var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff))) if !(e != 0) { if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 { @@ -1869,10 +1955,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */ return 4 } -func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */ - return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24)) -} - func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */ return X__fpclassify(tls, x) } @@ -1893,6 +1975,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */ return X__builtin_nanf(tls, ts+13 /* "" */) } +var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */ + +func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) { + *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x + return r + }() + var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff))) + var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63)) + var y double_t + + if e >= (0x3ff + 52) { + return x + } + if s != 0 { + y = ((x - toint) + toint) + } else { + y = ((x + toint) - toint) + } + if y == float64(0) { + if s != 0 { + return -Float64FromFloat64(0.0) + } + return float64(0) + } + return y +} + func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -1933,43 +2046,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */ return Xscalbn(tls, x, n) } -// Upper 6 state bits are a negative integer offset to bound-check next byte -// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f - -// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear. - -// Arbitrary encoding for representing code units instead of characters. - -// Get inline definition of MB_CUR_MAX. - -type lconv = struct { - decimal_point uintptr - thousands_sep uintptr - grouping uintptr - int_curr_symbol uintptr - currency_symbol uintptr - mon_decimal_point uintptr - mon_thousands_sep uintptr - mon_grouping uintptr - positive_sign uintptr - negative_sign uintptr - int_frac_digits int8 - frac_digits int8 - p_cs_precedes int8 - p_sep_by_space int8 - n_cs_precedes int8 - n_sep_by_space int8 - p_sign_posn int8 - n_sign_posn int8 - int_p_cs_precedes int8 - int_p_sep_by_space int8 - int_n_cs_precedes int8 - int_n_sep_by_space int8 - int_p_sign_posn int8 - int_n_sign_posn int8 - _ [2]byte -} /* locale.h:24:1 */ - // Support signed or unsigned plain-char // Implementation choices... @@ -2240,12 +2316,15 @@ func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */ bp := tls.Alloc(8) defer tls.Free(8) - *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v} + *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) { + *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v + return r + }() if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 { - a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))))) + a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))))) } if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 { - a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)))) + a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)))) } } @@ -2269,14 +2348,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1 if cnt < 0 { cnt = 0x7fffffff } - _ = (Bool32((X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), 1, int32(cnt)) != 0))) + _ = (Bool32((X__syscall3(tls, 240, int32(addr), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(addr), 1, int32(cnt)) != 0))) } func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */ if priv != 0 { priv = 128 } - _ = (Bool32((X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), 0, int32(val), 0) != 0))) + _ = (Bool32((X__syscall4(tls, 240, int32(addr), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(addr), 0, int32(val), 0) != 0))) } var X__fsmu8 = [51]uint32_t{ @@ -4332,7 +4411,7 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */ bp := tls.Alloc(32) defer tls.Free(32) - Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */ + Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */ VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip))))) } @@ -4344,10 +4423,10 @@ func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)] *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.') } - Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */) + Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */) } -var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */ +var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */ bp := tls.Alloc(556) @@ -4364,13 +4443,13 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3 // var iplit address at bp+528, 28 //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf); - var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */) + var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */) if !(f != 0) { return } if family == 2 { Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint32(4)) - Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) + Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) a = bp /* &atmp[0] */ } for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 { @@ -4388,7 +4467,7 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3 if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 { Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint32(4)) - Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) + Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) (*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0) } @@ -4464,7 +4543,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc if (sl < socklen_t(unsafe.Sizeof(sockaddr_in6{}))) { return -6 } - if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 { + if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 { mkptr6(tls, bp /* &ptr[0] */, a) } else { mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12))) @@ -4604,21 +4683,21 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr switch af { case 2: - if socklen_t(Xsnprintf(tls, s, l, ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l { + if socklen_t(Xsnprintf(tls, s, l, ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l { return s } break case 10: - if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 { + if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 { Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})), - ts+113, /* "%x:%x:%x:%x:%x:%..." */ + ts+115, /* "%x:%x:%x:%x:%x:%..." */ VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15)))))) } else { Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})), - ts+137, /* "%x:%x:%x:%x:%x:%..." */ + ts+139, /* "%x:%x:%x:%x:%x:%..." */ VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))), @@ -4631,7 +4710,7 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') { continue } - j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */)) + j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */)) if j > max { best = i max = j @@ -4888,7 +4967,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf); var _f FILE _ = _f - var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */) + var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */) if !(f != 0) { switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) { case 2: @@ -5010,13 +5089,13 @@ type policy = struct { } /* lookup_name.c:237:14 */ var defpolicy = [6]policy{ - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)}, // Last rule must match all addresses to stop loop. - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)}, } /* lookup_name.c:241:3 */ func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */ @@ -5184,10 +5263,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i *(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{})) } else { Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */ - ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) + ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4)) Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */ - ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) + ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4)) Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint32(4)) da = bp + 56 /* &da4 */ @@ -5401,7 +5480,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */ func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */ *(*int32)(unsafe.Pointer(f + 72 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1) if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase { - (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 36 /* &.write */))))(tls, f, uintptr(0), uint32(0)) + (*struct { + f func(*TLS, uintptr, uintptr, size_t) size_t + })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint32(0)) } (*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+28 /* &.wbase */, AssignPtrUintptr(f+16 /* &.wend */, uintptr(0))) if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 { @@ -5429,7 +5510,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */ // var c uint8 at bp, 1 - if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 32 /* &.read */))))(tls, f, bp /* &c */, uint32(1)) == size_t(1)) { + if !(X__toread(tls, f) != 0) && ((*struct { + f func(*TLS, uintptr, uintptr, size_t) size_t + })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint32(1)) == size_t(1)) { return int32(*(*uint8)(unsafe.Pointer(bp /* c */))) } return -1 @@ -6774,5 +6857,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth return 0 } -var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +func init() { + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45: +} + +var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data |