summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/libc/musl_linux_arm.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/modernc.org/libc/musl_linux_arm.go')
-rw-r--r--vendor/modernc.org/libc/musl_linux_arm.go2750
1 files changed, 2662 insertions, 88 deletions
diff --git a/vendor/modernc.org/libc/musl_linux_arm.go b/vendor/modernc.org/libc/musl_linux_arm.go
index dfd805a9b..e73f2ca39 100644
--- a/vendor/modernc.org/libc/musl_linux_arm.go
+++ b/vendor/modernc.org/libc/musl_linux_arm.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_arm.go -pkgname libc -static-locals-prefix _s -Iarch/arm -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/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/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/__toread.c src/stdio/__uflow.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', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_arm.go -pkgname libc -static-locals-prefix _s -Iarch/arm -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.
package libc
@@ -351,6 +351,12 @@ const ( /* nameser.h:98:1: */
ns_r_badtime = 18
)
+const ( /* pthread_impl.h:58:1: */
+ DT_EXITING = 0
+ DT_JOINABLE = 1
+ DT_DETACHED = 2
+)
+
type ptrdiff_t = int32 /* <builtin>:3:26 */
type size_t = uint32 /* <builtin>:9:23 */
@@ -361,6 +367,8 @@ func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
+type __locale_struct = struct{ cat [6]uintptr } /* alltypes.h:336:9 */
+
type locale_t = uintptr /* alltypes.h:336:32 */
func Xisalnum(tls *TLS, c int32) int32 { /* isalnum.c:3:5: */
@@ -675,6 +683,44 @@ func __DOUBLE_BITS(tls *TLS, __f float64) uint64 { /* math.h:61:36: */
return *(*uint64)(unsafe.Pointer(bp /* &__u */))
}
+type __pthread = struct {
+ self uintptr
+ dtv uintptr
+ prev uintptr
+ next uintptr
+ sysinfo uintptr_t
+ canary uintptr_t
+ canary2 uintptr_t
+ tid int32
+ errno_val int32
+ detach_state int32
+ cancel int32
+ canceldisable uint8
+ cancelasync uint8
+ tsd_used uint8 /* unsigned char tsd_used: 1, unsigned char dlerror_flag: 1 */
+ _ [1]byte
+ map_base uintptr
+ map_size size_t
+ stack uintptr
+ stack_size size_t
+ guard_size size_t
+ result uintptr
+ cancelbuf uintptr
+ tsd uintptr
+ robust_list struct {
+ head uintptr
+ off int32
+ pending uintptr
+ }
+ timer_id int32
+ locale locale_t
+ killlock [1]int32
+ dlerror_buf uintptr
+ stdio_locks uintptr
+ canary_at_end uintptr_t
+ dtv_copy uintptr
+} /* alltypes.h:266:9 */
+
func scanexp(tls *TLS, f uintptr, pok int32) int64 { /* floatscan.c:37:18: */
var c int32
var x int32
@@ -1891,6 +1937,1509 @@ 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...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+type __locale_map = struct {
+ __map uintptr
+ map_size size_t
+ name [24]int8
+ next uintptr
+} /* alltypes.h:336:9 */
+
+type tls_module = struct {
+ next uintptr
+ image uintptr
+ len size_t
+ size size_t
+ align size_t
+ offset size_t
+} /* libc.h:14:1 */
+
+type __libc = struct {
+ can_do_threads int8
+ threaded int8
+ secure int8
+ need_locks int8
+ threads_minus_1 int32
+ auxv uintptr
+ tls_head uintptr
+ tls_size size_t
+ tls_align size_t
+ tls_cnt size_t
+ page_size size_t
+ global_locale struct{ cat [6]uintptr }
+} /* libc.h:20:1 */
+
+type time_t = int64 /* alltypes.h:78:16 */
+
+type clockid_t = int32 /* alltypes.h:207:13 */
+
+type timespec = struct {
+ tv_sec time_t
+ tv_nsec int32
+ __12 uint32 /* int : 32 */
+} /* alltypes.h:222:1 */
+
+type pthread_t = uintptr /* alltypes.h:266:26 */
+
+type pthread_once_t = int32 /* alltypes.h:272:13 */
+
+type pthread_key_t = uint32 /* alltypes.h:277:18 */
+
+type pthread_spinlock_t = int32 /* alltypes.h:282:13 */
+
+type pthread_mutexattr_t = struct{ __attr uint32 } /* alltypes.h:287:37 */
+
+type pthread_condattr_t = struct{ __attr uint32 } /* alltypes.h:292:37 */
+
+type pthread_barrierattr_t = struct{ __attr uint32 } /* alltypes.h:297:37 */
+
+type pthread_rwlockattr_t = struct{ __attr [2]uint32 } /* alltypes.h:302:40 */
+
+type __sigset_t = struct{ __bits [32]uint32 } /* alltypes.h:342:9 */
+
+type sigset_t = __sigset_t /* alltypes.h:342:71 */
+
+type pthread_attr_t = struct{ __u struct{ __i [9]int32 } } /* alltypes.h:365:147 */
+
+type pthread_mutex_t = struct{ __u struct{ __i [6]int32 } } /* alltypes.h:370:157 */
+
+type pthread_cond_t = struct{ __u struct{ __i [12]int32 } } /* alltypes.h:380:112 */
+
+type pthread_rwlock_t = struct{ __u struct{ __i [8]int32 } } /* alltypes.h:390:139 */
+
+type pthread_barrier_t = struct{ __u struct{ __i [5]int32 } } /* alltypes.h:395:137 */
+
+type sched_param = struct {
+ sched_priority int32
+ __reserved1 int32
+ __reserved2 [4]int32
+ __reserved3 int32
+} /* sched.h:19:1 */
+
+type timer_t = uintptr /* alltypes.h:202:14 */
+
+type clock_t = int32 /* alltypes.h:212:14 */
+
+type tm = struct {
+ tm_sec int32
+ tm_min int32
+ tm_hour int32
+ tm_mday int32
+ tm_mon int32
+ tm_year int32
+ tm_wday int32
+ tm_yday int32
+ tm_isdst int32
+ tm_gmtoff int32
+ tm_zone uintptr
+} /* time.h:38:1 */
+
+type itimerspec = struct {
+ it_interval struct {
+ tv_sec time_t
+ tv_nsec int32
+ __12 uint32 /* int : 32 */
+ }
+ it_value struct {
+ tv_sec time_t
+ tv_nsec int32
+ __12 uint32 /* int : 32 */
+ }
+} /* time.h:80:1 */
+
+type sigevent = struct {
+ sigev_value struct{ sival_int int32 }
+ sigev_signo int32
+ sigev_notify int32
+ sigev_notify_function uintptr
+ sigev_notify_attributes uintptr
+ __pad [44]int8
+} /* time.h:107:1 */
+
+type __ptcb = struct {
+ __f uintptr
+ __x uintptr
+ __next uintptr
+} /* alltypes.h:266:9 */
+
+type sigaltstack = struct {
+ ss_sp uintptr
+ ss_flags int32
+ ss_size size_t
+} /* signal.h:44:9 */
+
+type stack_t = sigaltstack /* signal.h:44:28 */
+
+type greg_t = int32 /* signal.h:10:13 */
+type gregset_t = [18]int32 /* signal.h:10:21 */
+type sigcontext = struct {
+ trap_no uint32
+ error_code uint32
+ oldmask uint32
+ arm_r0 uint32
+ arm_r1 uint32
+ arm_r2 uint32
+ arm_r3 uint32
+ arm_r4 uint32
+ arm_r5 uint32
+ arm_r6 uint32
+ arm_r7 uint32
+ arm_r8 uint32
+ arm_r9 uint32
+ arm_r10 uint32
+ arm_fp uint32
+ arm_ip uint32
+ arm_sp uint32
+ arm_lr uint32
+ arm_pc uint32
+ arm_cpsr uint32
+ fault_address uint32
+} /* signal.h:11:9 */
+
+type mcontext_t = sigcontext /* signal.h:18:3 */
+
+type __ucontext = struct {
+ uc_flags uint32
+ uc_link uintptr
+ uc_stack stack_t
+ uc_mcontext mcontext_t
+ uc_sigmask sigset_t
+ uc_regspace [64]uint64
+} /* signal.h:31:9 */
+
+type ucontext_t = __ucontext /* signal.h:38:3 */
+
+type sigval = struct{ sival_int int32 } /* time.h:107:1 */
+
+type siginfo_t = struct {
+ si_signo int32
+ si_errno int32
+ si_code int32
+ __si_fields struct {
+ _ [0]uint32
+ __pad [116]int8
+ }
+} /* signal.h:145:3 */
+
+type sigaction = struct {
+ __sa_handler struct{ sa_handler uintptr }
+ sa_mask sigset_t
+ sa_flags int32
+ sa_restorer uintptr
+} /* signal.h:167:1 */
+
+type sig_t = uintptr /* signal.h:251:14 */
+
+type sig_atomic_t = int32 /* signal.h:269:13 */
+
+func a_cas(tls *TLS, p uintptr, t int32, s int32) int32 { /* atomic_arch.h:46:19: */
+ panic(`arch/arm/atomic_arch.h:48:2: assembler statements not supported`)
+ return int32(0)
+ //TODO for (;;) {
+ //TODO register int r0 __asm__("r0") = t;
+ //TODO register int r1 __asm__("r1") = s;
+ //TODO register volatile int *r2 __asm__("r2") = p;
+ //TODO register uintptr_t r3 __asm__("r3") = __a_cas_ptr;
+ //TODO int old;
+ //TODO __asm__ __volatile__ (
+ //TODO BLX " r3"
+ //TODO : "+r"(r0), "+r"(r3) : "r"(r1), "r"(r2)
+ //TODO : "memory", "lr", "ip", "cc" );
+ //TODO if (!r0) return t;
+ //TODO if ((old=*p)!=t) return old;
+ //TODO }
+}
+
+func a_barrier(tls *TLS) { /* atomic_arch.h:68:20: */
+ panic(`arch/arm/atomic_arch.h:70:2: assembler statements not supported`)
+ //TODO register uintptr_t ip __asm__("ip") = __a_barrier_ptr;
+ //TODO __asm__ __volatile__( BLX " ip" : "+r"(ip) : : "memory", "cc", "lr" );
+}
+
+func a_clz_32(tls *TLS, x uint32_t) int32 { /* atomic_arch.h:91:19: */
+ panic(`arch/arm/atomic_arch.h:93:2: assembler statements not supported`)
+ return int32(x)
+}
+
+func a_swap(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:108:19: */
+ var old int32
+ for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, v) != old) {
+ old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ }
+ return old
+}
+
+func a_fetch_add(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:119:19: */
+ var old int32
+ for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (int32(uint32(old)+uint32(v)))) != old) {
+ old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ }
+ return old
+}
+
+func a_fetch_and(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:130:19: */
+ var old int32
+ for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old&v)) != old) {
+ old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ }
+ return old
+}
+
+func a_fetch_or(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:140:19: */
+ var old int32
+ for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old|v)) != old) {
+ old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ }
+ return old
+}
+
+func a_and(tls *TLS, p uintptr, v int32) { /* atomic.h:151:20: */
+ a_fetch_and(tls, AtomicLoadUintptr(&p), v)
+}
+
+func a_or(tls *TLS, p uintptr, v int32) { /* atomic.h:159:20: */
+ a_fetch_or(tls, AtomicLoadUintptr(&p), v)
+}
+
+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}
+ if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
+ a_or(tls, AtomicLoadUintptr(&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))))
+ }
+}
+
+type a_cas_p_undefined_but_pointer_not_32bit = [1]int8 /* atomic.h:229:14 */
+
+func a_ctz_32(tls *TLS, x uint32_t) int32 { /* atomic.h:256:19: */
+ return (31 - a_clz_32(tls, (x&-x)))
+}
+
+func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic.h:272:19: */
+ if uint32(unsafe.Sizeof(int32(0))) < uint32(8) {
+ var y uint32_t = uint32_t(x)
+ if !(y != 0) {
+ y = (uint32_t(x >> 32))
+ return (32 + a_ctz_32(tls, y))
+ }
+ return a_ctz_32(tls, y)
+ }
+ return int32(_sdebruijn648[(((x & -x) * 0x022fdd63cc95386d) >> 58)])
+}
+
+var _sdebruijn648 = [64]int8{
+ int8(0), int8(1), int8(2), int8(53), int8(3), int8(7), int8(54), int8(27), int8(4), int8(38), int8(41), int8(8), int8(34), int8(55), int8(48), int8(28),
+ int8(62), int8(5), int8(39), int8(46), int8(44), int8(42), int8(22), int8(9), int8(24), int8(35), int8(59), int8(56), int8(49), int8(18), int8(29), int8(11),
+ int8(63), int8(52), int8(6), int8(26), int8(37), int8(40), int8(33), int8(47), int8(61), int8(45), int8(43), int8(21), int8(23), int8(58), int8(17), int8(10),
+ int8(51), int8(25), int8(36), int8(32), int8(60), int8(20), int8(57), int8(16), int8(50), int8(31), int8(19), int8(15), int8(30), int8(14), int8(13), int8(12),
+} /* atomic.h:274:20 */
+
+type __timer = struct {
+ timerid int32
+ thread pthread_t
+} /* pthread_impl.h:64:1 */
+
+func __pthread_self(tls *TLS) pthread_t { /* pthread_arch.h:19:25: */
+ var p uintptr_t
+ panic(`arch/arm/pthread_arch.h:23:2: assembler statements not supported`)
+ return (uintptr(p - uintptr_t(unsafe.Sizeof(__pthread{}))))
+}
+
+func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:155:20: */
+ if priv != 0 {
+ priv = 128
+ }
+ 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)))
+}
+
+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)))
+}
+
+var X__fsmu8 = [51]uint32_t{
+ func() uint32 {
+ if 0x2 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x2))
+ }(), func() uint32 {
+ if 0x3 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x3))
+ }(), func() uint32 {
+ if 0x4 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x4))
+ }(), func() uint32 {
+ if 0x5 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x5))
+ }(), func() uint32 {
+ if 0x6 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x6))
+ }(), func() uint32 {
+ if 0x7 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x7))
+ }(),
+ func() uint32 {
+ if 0x8 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x8))
+ }(), func() uint32 {
+ if 0x9 < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0x9))
+ }(), func() uint32 {
+ if 0xa < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xa))
+ }(), func() uint32 {
+ if 0xb < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xb))
+ }(), func() uint32 {
+ if 0xc < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xc))
+ }(), func() uint32 {
+ if 0xd < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xd))
+ }(), func() uint32 {
+ if 0xe < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xe))
+ }(), func() uint32 {
+ if 0xf < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | uint32_t(0xf))
+ }(),
+ func() uint32 {
+ if (0x0 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x0 + 16)))
+ }(), func() uint32 {
+ if (0x1 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x1 + 16)))
+ }(), func() uint32 {
+ if (0x2 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x2 + 16)))
+ }(), func() uint32 {
+ if (0x3 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x3 + 16)))
+ }(), func() uint32 {
+ if (0x4 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x4 + 16)))
+ }(), func() uint32 {
+ if (0x5 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x5 + 16)))
+ }(), func() uint32 {
+ if (0x6 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x6 + 16)))
+ }(), func() uint32 {
+ if (0x7 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x7 + 16)))
+ }(),
+ func() uint32 {
+ if (0x8 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x8 + 16)))
+ }(), func() uint32 {
+ if (0x9 + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0x9 + 16)))
+ }(), func() uint32 {
+ if (0xa + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xa + 16)))
+ }(), func() uint32 {
+ if (0xb + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xb + 16)))
+ }(), func() uint32 {
+ if (0xc + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xc + 16)))
+ }(), func() uint32 {
+ if (0xd + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xd + 16)))
+ }(), func() uint32 {
+ if (0xe + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xe + 16)))
+ }(), func() uint32 {
+ if (0xf + 16) < 2 {
+ return Uint32FromInt32(-1)
+ }
+ return (((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23) | (uint32_t(0xf + 16)))
+ }(),
+ (((func() uint32 {
+ if 0x0 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x0 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x0)), (((func() uint32 {
+ if 0x1 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x1 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x1)), (((func() uint32 {
+ if 0x2 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x2 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x2)), (((func() uint32 {
+ if 0x3 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x3 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x3)), (((func() uint32 {
+ if 0x4 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x4 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x4)), (((func() uint32 {
+ if 0x5 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x5 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x5)), (((func() uint32 {
+ if 0x6 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x6 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x6)), (((func() uint32 {
+ if 0x7 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x7 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x7)),
+ (((func() uint32 {
+ if 0x8 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x8 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x8)), (((func() uint32 {
+ if 0x9 == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x9 == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0x9)), (((func() uint32 {
+ if 0xa == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xa == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xa)), (((func() uint32 {
+ if 0xb == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xb == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xb)), (((func() uint32 {
+ if 0xc == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xc == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xc)), (((func() uint32 {
+ if 0xd == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xd == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xd)), (((func() uint32 {
+ if 0xe == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xe == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xe)), (((func() uint32 {
+ if 0xf == 0 {
+ return ((func() uint32 {
+ if Int32(0xa0) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0xa0)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0xf == 0xd {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xa0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | uint32_t(0xf)),
+ ((((func() uint32 {
+ if 0x0 >= 5 {
+ return uint32(0)
+ }
+ return func() uint32 {
+ if 0x0 == 0 {
+ return ((func() uint32 {
+ if Int32(0x90) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x90)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x0 == 4 {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0x90)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 12)) | uint32_t(0x0)), ((((func() uint32 {
+ if 0x1 >= 5 {
+ return uint32(0)
+ }
+ return func() uint32 {
+ if 0x1 == 0 {
+ return ((func() uint32 {
+ if Int32(0x90) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x90)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x1 == 4 {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0x90)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 12)) | uint32_t(0x1)), ((((func() uint32 {
+ if 0x2 >= 5 {
+ return uint32(0)
+ }
+ return func() uint32 {
+ if 0x2 == 0 {
+ return ((func() uint32 {
+ if Int32(0x90) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x90)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x2 == 4 {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0x90)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 12)) | uint32_t(0x2)), ((((func() uint32 {
+ if 0x3 >= 5 {
+ return uint32(0)
+ }
+ return func() uint32 {
+ if 0x3 == 0 {
+ return ((func() uint32 {
+ if Int32(0x90) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x90)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x3 == 4 {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0x90)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 12)) | uint32_t(0x3)), ((((func() uint32 {
+ if 0x4 >= 5 {
+ return uint32(0)
+ }
+ return func() uint32 {
+ if 0x4 == 0 {
+ return ((func() uint32 {
+ if Int32(0x90) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x90)))
+ }()) << 23)
+ }
+ return func() uint32 {
+ if 0x4 == 4 {
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0x90)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }
+ return ((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)
+ }()
+ }()
+ }()) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 6)) | (uint32_t(((func() uint32 {
+ if Int32(0x80) == Int32(0x80) {
+ return (Uint32(Uint32(0x40) - Uint32FromInt32(0xc0)))
+ }
+ return (Uint32(Uint32(0) - Uint32FromInt32(0x80)))
+ }()) << 23)) >> 12)) | uint32_t(0x4)),
+} /* internal.c:18:16 */
+
+type wint_t = uint32 /* alltypes.h:191:18 */
+
+type wctype_t = uint32 /* alltypes.h:196:23 */
+
+type __mbstate_t = struct {
+ __opaque1 uint32
+ __opaque2 uint32
+} /* alltypes.h:330:9 */
+
+type mbstate_t = __mbstate_t /* alltypes.h:330:63 */
+
+func Xmbrtowc(tls *TLS, wc uintptr, src uintptr, n size_t, st uintptr) size_t { /* mbrtowc.c:6:8: */
+ bp := tls.Alloc(4)
+ defer tls.Free(4)
+
+ var c uint32
+ var s uintptr
+ var N uint32
+ // var dummy wchar_t at bp, 4
+ s = src
+ N = n
+
+ if !(!(st != 0)) {
+ goto __1
+ }
+ st = uintptr(unsafe.Pointer(&_sinternal_state))
+__1:
+ ;
+ c = *(*uint32)(unsafe.Pointer(st))
+
+ if !(!(s != 0)) {
+ goto __2
+ }
+ if !(c != 0) {
+ goto __4
+ }
+ goto ilseq
+__4:
+ ;
+ return size_t(0)
+ goto __3
+__2:
+ if !(!(wc != 0)) {
+ goto __5
+ }
+ wc = bp /* &dummy */
+__5:
+ ;
+__3:
+ ;
+
+ if !(!(n != 0)) {
+ goto __6
+ }
+ return Uint32FromInt32(-2)
+__6:
+ ;
+ if !(!(c != 0)) {
+ goto __7
+ }
+ if !(int32(*(*uint8)(unsafe.Pointer(s))) < 0x80) {
+ goto __8
+ }
+ return BoolUint32(!(!(int32(AssignPtrUint32(wc, wchar_t(*(*uint8)(unsafe.Pointer(s))))) != 0)))
+__8:
+ ;
+ if !((func() int32 {
+ if !(!(int32(*(*uintptr)(unsafe.Pointer(((*__pthread)(unsafe.Pointer(__pthread_self(tls))).locale /* &.cat */)))) != 0)) {
+ return 4
+ }
+ return 1
+ }()) == 1) {
+ goto __9
+ }
+ *(*wchar_t)(unsafe.Pointer(wc)) = (wchar_t(0xdfff & int32((int8(*(*uint8)(unsafe.Pointer(s)))))))
+ return 1
+__9:
+ ;
+ if !((uint32(*(*uint8)(unsafe.Pointer(s))) - 0xc2) > (0xf4 - 0xc2)) {
+ goto __10
+ }
+ goto ilseq
+__10:
+ ;
+ c = X__fsmu8[(uint32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1)))) - 0xc2)]
+ n--
+__7:
+ ;
+
+ if !(n != 0) {
+ goto __11
+ }
+ if !((((((int32(*(*uint8)(unsafe.Pointer(s)))) >> 3) - 0x10) | (((int32(*(*uint8)(unsafe.Pointer(s)))) >> 3) + ((int32_t(c)) >> 26))) & CplInt32(7)) != 0) {
+ goto __12
+ }
+ goto ilseq
+__12:
+ ;
+loop:
+ c = ((c << 6) | (uint32(int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1)))) - 0x80)))
+ n--
+ if !(!((c & (uint32(1) << 31)) != 0)) {
+ goto __13
+ }
+ *(*uint32)(unsafe.Pointer(st)) = uint32(0)
+ *(*wchar_t)(unsafe.Pointer(wc)) = c
+ return (N - n)
+__13:
+ ;
+ if !(n != 0) {
+ goto __14
+ }
+ if !((uint32(*(*uint8)(unsafe.Pointer(s))) - 0x80) >= uint32(0x40)) {
+ goto __15
+ }
+ goto ilseq
+__15:
+ ;
+ goto loop
+__14:
+ ;
+__11:
+ ;
+
+ *(*uint32)(unsafe.Pointer(st)) = c
+ return Uint32FromInt32(-2)
+ilseq:
+ *(*uint32)(unsafe.Pointer(st)) = uint32(0)
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 84
+ return Uint32FromInt32(-1)
+}
+
+var _sinternal_state uint32 /* mbrtowc.c:8:18: */
+
+func Xmbsinit(tls *TLS, st uintptr) int32 { /* mbsinit.c:3:5: */
+ return (Bool32(!(st != 0) || !(int32(*(*uint32)(unsafe.Pointer(st))) != 0)))
+}
+
type imaxdiv_t = struct {
quot intmax_t
rem intmax_t
@@ -2200,90 +3749,6 @@ __3:
//TODO else UNLOCK(b->lock);
}
-type time_t = int64 /* alltypes.h:78:16 */
-
-type clockid_t = int32 /* alltypes.h:207:13 */
-
-type timespec = struct {
- tv_sec time_t
- tv_nsec int32
- __12 uint32 /* int : 32 */
-} /* alltypes.h:222:1 */
-
-type pthread_t = uintptr /* alltypes.h:266:26 */
-
-type pthread_once_t = int32 /* alltypes.h:272:13 */
-
-type pthread_key_t = uint32 /* alltypes.h:277:18 */
-
-type pthread_spinlock_t = int32 /* alltypes.h:282:13 */
-
-type pthread_mutexattr_t = struct{ __attr uint32 } /* alltypes.h:287:37 */
-
-type pthread_condattr_t = struct{ __attr uint32 } /* alltypes.h:292:37 */
-
-type pthread_barrierattr_t = struct{ __attr uint32 } /* alltypes.h:297:37 */
-
-type pthread_rwlockattr_t = struct{ __attr [2]uint32 } /* alltypes.h:302:40 */
-
-type __sigset_t = struct{ __bits [32]uint32 } /* alltypes.h:342:9 */
-
-type sigset_t = __sigset_t /* alltypes.h:342:71 */
-
-type pthread_attr_t = struct{ __u struct{ __i [9]int32 } } /* alltypes.h:365:147 */
-
-type pthread_mutex_t = struct{ __u struct{ __i [6]int32 } } /* alltypes.h:370:157 */
-
-type pthread_cond_t = struct{ __u struct{ __i [12]int32 } } /* alltypes.h:380:112 */
-
-type pthread_rwlock_t = struct{ __u struct{ __i [8]int32 } } /* alltypes.h:390:139 */
-
-type pthread_barrier_t = struct{ __u struct{ __i [5]int32 } } /* alltypes.h:395:137 */
-
-type sched_param = struct {
- sched_priority int32
- __reserved1 int32
- __reserved2 [4]int32
- __reserved3 int32
-} /* sched.h:19:1 */
-
-type timer_t = uintptr /* alltypes.h:202:14 */
-
-type clock_t = int32 /* alltypes.h:212:14 */
-
-type tm = struct {
- tm_sec int32
- tm_min int32
- tm_hour int32
- tm_mday int32
- tm_mon int32
- tm_year int32
- tm_wday int32
- tm_yday int32
- tm_isdst int32
- tm_gmtoff int32
- tm_zone uintptr
-} /* time.h:38:1 */
-
-type itimerspec = struct {
- it_interval struct {
- tv_sec time_t
- tv_nsec int32
- __12 uint32 /* int : 32 */
- }
- it_value struct {
- tv_sec time_t
- tv_nsec int32
- __12 uint32 /* int : 32 */
- }
-} /* time.h:80:1 */
-
-type __ptcb = struct {
- __f uintptr
- __x uintptr
- __next uintptr
-} /* pthread.h:206:1 */
-
func Xgetaddrinfo(tls *TLS, host uintptr, serv uintptr, hint uintptr, res uintptr) int32 { /* getaddrinfo.c:12:5: */
bp := tls.Alloc(1608)
defer tls.Free(1608)
@@ -2715,6 +4180,10 @@ func Xgethostbyname2_r(tls *TLS, name uintptr, af int32, h uintptr, buf uintptr,
return 0
}
+func Xgethostbyname_r(tls *TLS, name uintptr, h uintptr, buf uintptr, buflen size_t, res uintptr, err uintptr) int32 { /* gethostbyname_r.c:6:5: */
+ return Xgethostbyname2_r(tls, name, 2, h, buf, buflen, res, err)
+}
+
type if_nameindex = struct {
if_index uint32
if_name uintptr
@@ -2857,6 +4326,7 @@ type __res_state = struct {
defdname [256]int8
pfcode uint32
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
+ _ [4]byte
sort_list [10]struct {
addr struct{ s_addr in_addr_t }
mask uint32_t
@@ -3135,15 +4605,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
switch i {
case 0:
*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + 1*4)) = (*(*uint32)(unsafe.Pointer(bp /* &a[0] */)) & uint32(0xffffff))
- AssignShrPtrUint32(bp /* &a */, int(uint32(24)))
+ AssignShrPtrUint32(bp /* &a */, int(24))
fallthrough
case 1:
*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + 2*4)) = (*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + 1*4)) & uint32(0xffff))
- AssignShrPtrUint32(bp /* &a */ +1*4, int(uint32(16)))
+ AssignShrPtrUint32(bp /* &a */ +1*4, int(16))
fallthrough
case 2:
*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + 3*4)) = (*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + 2*4)) & uint32(0xff))
- AssignShrPtrUint32(bp /* &a */ +2*4, int(uint32(8)))
+ AssignShrPtrUint32(bp /* &a */ +2*4, int(8))
}
for i = 0; i < 4; i++ {
if *(*uint32)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*4)) > uint32(255) {
@@ -3937,6 +5407,30 @@ func Xrand_r(tls *TLS, seed uintptr) int32 { /* rand_r.c:12:5: */
return (int32(temper(tls, AssignPtrUint32(seed, ((*(*uint32)(unsafe.Pointer(seed))*uint32(1103515245))+uint32(12345)))) / uint32(2)))
}
+func X__lockfile(tls *TLS, f uintptr) int32 { /* __lockfile.c:4:5: */
+ var owner int32 = (*FILE)(unsafe.Pointer(f)).lock
+ var tid int32 = (*__pthread)(unsafe.Pointer(__pthread_self(tls))).tid
+ if (owner & CplInt32(0x40000000)) == tid {
+ return 0
+ }
+ owner = a_cas(tls, (f + 76 /* &.lock */), 0, tid)
+ if !(owner != 0) {
+ return 1
+ }
+ for AssignInt32(&owner, a_cas(tls, (f+76 /* &.lock */), 0, (tid|0x40000000))) != 0 {
+ if ((owner & 0x40000000) != 0) || (a_cas(tls, (f+76 /* &.lock */), owner, (owner|0x40000000)) == owner) {
+ __futexwait(tls, (f + 76 /* &.lock */), (owner | 0x40000000), 1)
+ }
+ }
+ return 1
+}
+
+func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
+ if (a_swap(tls, (f+76 /* &.lock */), 0) & 0x40000000) != 0 {
+ __wake(tls, (f + 76 /* &.lock */), 1, 1)
+ }
+}
+
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 {
@@ -3974,6 +5468,940 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
return -1
}
+func Xsscanf(tls *TLS, s uintptr, fmt uintptr, va uintptr) int32 { /* sscanf.c:4:5: */
+ var ret int32
+ var ap va_list
+ _ = ap
+ ap = va
+ ret = Xvsscanf(tls, s, fmt, ap)
+ _ = ap
+ return ret
+}
+
+type wctrans_t = uintptr /* wctype.h:20:19 */
+
+func store_int(tls *TLS, dest uintptr, size int32, i uint64) { /* vfscanf.c:22:13: */
+ if !(dest != 0) {
+ return
+ }
+ switch size {
+ case -2:
+ *(*int8)(unsafe.Pointer(dest)) = int8(i)
+ break
+ case -1:
+ *(*int16)(unsafe.Pointer(dest)) = int16(i)
+ break
+ case 0:
+ *(*int32)(unsafe.Pointer(dest)) = int32(i)
+ break
+ case 1:
+ *(*int32)(unsafe.Pointer(dest)) = int32(i)
+ break
+ case 3:
+ *(*int64)(unsafe.Pointer(dest)) = int64(i)
+ break
+ }
+}
+
+func arg_n(tls *TLS, ap va_list, n uint32) uintptr { /* vfscanf.c:44:13: */
+ var p uintptr
+ var i uint32
+ var ap2 va_list
+ _ = ap2
+ ap2 = ap
+ for i = n; i > uint32(1); i-- {
+ VaUintptr(&ap2)
+ }
+ p = VaUintptr(&ap2)
+ _ = ap2
+ return p
+}
+
+func Xvfscanf(tls *TLS, f uintptr, fmt uintptr, ap va_list) int32 { /* vfscanf.c:56:5: */
+ bp := tls.Alloc(276)
+ defer tls.Free(276)
+
+ var width int32
+ var size int32
+ var alloc int32
+ var base int32
+ var p uintptr
+ var c int32
+ var t int32
+ var s uintptr
+ var wcs uintptr
+ // var st mbstate_t at bp+268, 8
+
+ var dest uintptr
+ var invert int32
+ var matches int32
+ var x uint64
+ var y float64
+ var pos off_t
+ // var scanset [257]uint8 at bp, 257
+
+ var i size_t
+ var k size_t
+ // var wc wchar_t at bp+260, 4
+
+ var __need_unlock int32
+ var tmp uintptr
+ var tmp1 uintptr
+ alloc = 0
+ dest = uintptr(0)
+ matches = 0
+ pos = int64(0)
+ __need_unlock = func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).lock >= 0 {
+ return X__lockfile(tls, f)
+ }
+ return 0
+ }()
+
+ if !(!(int32((*FILE)(unsafe.Pointer(f)).rpos) != 0)) {
+ goto __1
+ }
+ X__toread(tls, f)
+__1:
+ ;
+ if !(!(int32((*FILE)(unsafe.Pointer(f)).rpos) != 0)) {
+ goto __2
+ }
+ goto input_fail
+__2:
+ ;
+
+ p = fmt
+__3:
+ if !(*(*uint8)(unsafe.Pointer(p)) != 0) {
+ goto __5
+ }
+
+ alloc = 0
+
+ if !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0) {
+ goto __6
+ }
+__7:
+ if !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + 1)))) != 0) {
+ goto __8
+ }
+ p++
+ goto __7
+__8:
+ ;
+ X__shlim(tls, f, int64(0))
+__9:
+ if !(__isspace(tls, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()) != 0) {
+ goto __10
+ }
+ goto __9
+__10:
+ ;
+ if (*FILE)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ pos = pos + ((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1)))
+ goto __4
+__6:
+ ;
+ if !((int32(*(*uint8)(unsafe.Pointer(p))) != '%') || (int32(*(*uint8)(unsafe.Pointer(p + 1))) == '%')) {
+ goto __11
+ }
+ X__shlim(tls, f, int64(0))
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == '%') {
+ goto __12
+ }
+ p++
+__14:
+ if !(__isspace(tls, AssignInt32(&c, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) != 0) {
+ goto __15
+ }
+ goto __14
+__15:
+ ;
+ goto __13
+__12:
+ c = func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+__13:
+ ;
+ if !(c != int32(*(*uint8)(unsafe.Pointer(p)))) {
+ goto __16
+ }
+ if (*FILE)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if !(c < 0) {
+ goto __17
+ }
+ goto input_fail
+__17:
+ ;
+ goto match_fail
+__16:
+ ;
+ pos = pos + ((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1)))
+ goto __4
+__11:
+ ;
+
+ p++
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == '*') {
+ goto __18
+ }
+ dest = uintptr(0)
+ p++
+ goto __19
+__18:
+ if !((func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(p))))
+ }
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(p)))) - uint32('0')) < uint32(10)))
+ }() != 0) && (int32(*(*uint8)(unsafe.Pointer(p + 1))) == '$')) {
+ goto __20
+ }
+ dest = arg_n(tls, ap, (uint32(int32(*(*uint8)(unsafe.Pointer(p))) - '0')))
+ p += uintptr(2)
+ goto __21
+__20:
+ dest = VaUintptr(&ap)
+__21:
+ ;
+__19:
+ ;
+
+ width = 0
+__22:
+ if !(func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(p))))
+ }
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(p)))) - uint32('0')) < uint32(10)))
+ }() != 0) {
+ goto __24
+ }
+ width = (((10 * width) + int32(*(*uint8)(unsafe.Pointer(p)))) - '0')
+ goto __23
+__23:
+ p++
+ goto __22
+ goto __24
+__24:
+ ;
+
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == 'm') {
+ goto __25
+ }
+ wcs = uintptr(0)
+ s = uintptr(0)
+ alloc = BoolInt32(!(!(dest != 0)))
+ p++
+ goto __26
+__25:
+ alloc = 0
+__26:
+ ;
+
+ size = 0
+ switch int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1)))) {
+ case 'h':
+ goto __28
+ case 'l':
+ goto __29
+ case 'j':
+ goto __30
+ case 'z':
+ goto __31
+ case 't':
+ goto __32
+ case 'L':
+ goto __33
+ case 'd':
+ goto __34
+ case 'i':
+ goto __35
+ case 'o':
+ goto __36
+ case 'u':
+ goto __37
+ case 'x':
+ goto __38
+ case 'a':
+ goto __39
+ case 'e':
+ goto __40
+ case 'f':
+ goto __41
+ case 'g':
+ goto __42
+ case 'A':
+ goto __43
+ case 'E':
+ goto __44
+ case 'F':
+ goto __45
+ case 'G':
+ goto __46
+ case 'X':
+ goto __47
+ case 's':
+ goto __48
+ case 'c':
+ goto __49
+ case '[':
+ goto __50
+ case 'S':
+ goto __51
+ case 'C':
+ goto __52
+ case 'p':
+ goto __53
+ case 'n':
+ goto __54
+ default:
+ goto __55
+ }
+ goto __27
+__28:
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == 'h') {
+ goto __56
+ }
+ p++
+ size = -2
+ goto __57
+__56:
+ size = -1
+__57:
+ ;
+ goto __27
+__29:
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == 'l') {
+ goto __58
+ }
+ p++
+ size = 3
+ goto __59
+__58:
+ size = 1
+__59:
+ ;
+ goto __27
+__30:
+ size = 3
+ goto __27
+__31:
+__32:
+ size = 1
+ goto __27
+__33:
+ size = 2
+ goto __27
+__34:
+__35:
+__36:
+__37:
+__38:
+__39:
+__40:
+__41:
+__42:
+__43:
+__44:
+__45:
+__46:
+__47:
+__48:
+__49:
+__50:
+__51:
+__52:
+__53:
+__54:
+ p--
+ goto __27
+__55:
+ goto fmt_fail
+__27:
+ ;
+
+ t = int32(*(*uint8)(unsafe.Pointer(p)))
+
+ // C or S
+ if !((t & 0x2f) == 3) {
+ goto __60
+ }
+ t = t | (32)
+ size = 1
+__60:
+ ;
+
+ switch t {
+ case 'c':
+ goto __62
+ case '[':
+ goto __63
+ case 'n':
+ goto __64
+ default:
+ goto __65
+ }
+ goto __61
+__62:
+ if !(width < 1) {
+ goto __66
+ }
+ width = 1
+__66:
+ ;
+__63:
+ goto __61
+__64:
+ store_int(tls, dest, size, uint64(pos))
+ // do not increment match count, etc!
+ goto __4
+__65:
+ X__shlim(tls, f, int64(0))
+__67:
+ if !(__isspace(tls, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()) != 0) {
+ goto __68
+ }
+ goto __67
+__68:
+ ;
+ if (*FILE)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ pos = pos + ((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1)))
+__61:
+ ;
+
+ X__shlim(tls, f, int64(width))
+ if !((func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()) < 0) {
+ goto __69
+ }
+ goto input_fail
+__69:
+ ;
+ if (*FILE)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+
+ switch t {
+ case 's':
+ goto __71
+ case 'c':
+ goto __72
+ case '[':
+ goto __73
+ case 'p':
+ goto __74
+ case 'X':
+ goto __75
+ case 'x':
+ goto __76
+ case 'o':
+ goto __77
+ case 'd':
+ goto __78
+ case 'u':
+ goto __79
+ case 'i':
+ goto __80
+ case 'a':
+ goto __81
+ case 'A':
+ goto __82
+ case 'e':
+ goto __83
+ case 'E':
+ goto __84
+ case 'f':
+ goto __85
+ case 'F':
+ goto __86
+ case 'g':
+ goto __87
+ case 'G':
+ goto __88
+ }
+ goto __70
+__71:
+__72:
+__73:
+ if !((t == 'c') || (t == 's')) {
+ goto __89
+ }
+ Xmemset(tls, bp /* &scanset[0] */, -1, uint32(unsafe.Sizeof([257]uint8{})))
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */)) = uint8(0)
+ if !(t == 's') {
+ goto __91
+ }
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 10)) = uint8(0)
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 11)) = uint8(0)
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 12)) = uint8(0)
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 13)) = uint8(0)
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 14)) = uint8(0)
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 33)) = uint8(0)
+__91:
+ ;
+ goto __90
+__89:
+ if !(int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1)))) == '^') {
+ goto __92
+ }
+ p++
+ invert = 1
+ goto __93
+__92:
+ invert = 0
+__93:
+ ;
+ Xmemset(tls, bp /* &scanset[0] */, invert, uint32(unsafe.Sizeof([257]uint8{})))
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */)) = uint8(0)
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == '-') {
+ goto __94
+ }
+ p++
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 46)) = (uint8(1 - invert))
+ goto __95
+__94:
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) == ']') {
+ goto __96
+ }
+ p++
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + 94)) = (uint8(1 - invert))
+__96:
+ ;
+__95:
+ ;
+__97:
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) != ']') {
+ goto __99
+ }
+ if !(!(int32(*(*uint8)(unsafe.Pointer(p))) != 0)) {
+ goto __100
+ }
+ goto fmt_fail
+__100:
+ ;
+ if !(((int32(*(*uint8)(unsafe.Pointer(p))) == '-') && (*(*uint8)(unsafe.Pointer(p + 1)) != 0)) && (int32(*(*uint8)(unsafe.Pointer(p + 1))) != ']')) {
+ goto __101
+ }
+ c = int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1) + UintptrFromInt32(-1))))
+__102:
+ if !(c < int32(*(*uint8)(unsafe.Pointer(p)))) {
+ goto __104
+ }
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr((1 + c)))) = (uint8(1 - invert))
+ goto __103
+__103:
+ c++
+ goto __102
+ goto __104
+__104:
+ ;
+__101:
+ ;
+ *(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr((1 + int32(*(*uint8)(unsafe.Pointer(p))))))) = (uint8(1 - invert))
+ goto __98
+__98:
+ p++
+ goto __97
+ goto __99
+__99:
+ ;
+__90:
+ ;
+ wcs = uintptr(0)
+ s = uintptr(0)
+ i = size_t(0)
+ if t == 'c' {
+ k = (uint32(width) + 1)
+ } else {
+ k = uint32(31)
+ }
+ if !(size == 1) {
+ goto __105
+ }
+ if !(alloc != 0) {
+ goto __107
+ }
+ wcs = Xmalloc(tls, (k * size_t(unsafe.Sizeof(wchar_t(0)))))
+ if !(!(wcs != 0)) {
+ goto __109
+ }
+ goto alloc_fail
+__109:
+ ;
+ goto __108
+__107:
+ wcs = dest
+__108:
+ ;
+ *(*mbstate_t)(unsafe.Pointer(bp + 268 /* st */)) = mbstate_t{}
+__110:
+ if !(*(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr(((AssignInt32(&c, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) + 1)))) != 0) {
+ goto __111
+ }
+ switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*int8)(unsafe.Pointer(bp + 264)) = int8(c); return bp + 264 }(), uint32(1), bp+268 /* &st */) {
+ case Uint32FromInt32(-1):
+ goto __113
+ case Uint32FromInt32(-2):
+ goto __114
+ }
+ goto __112
+__113:
+ goto input_fail
+__114:
+ goto __110
+__112:
+ ;
+ if !(wcs != 0) {
+ goto __115
+ }
+ *(*wchar_t)(unsafe.Pointer(wcs + uintptr(PostIncUint32(&i, 1))*4)) = *(*wchar_t)(unsafe.Pointer(bp + 260 /* wc */))
+__115:
+ ;
+ if !((alloc != 0) && (i == k)) {
+ goto __116
+ }
+ k = k + (k + size_t(1))
+ tmp = Xrealloc(tls, wcs, (k * size_t(unsafe.Sizeof(wchar_t(0)))))
+ if !(!(tmp != 0)) {
+ goto __117
+ }
+ goto alloc_fail
+__117:
+ ;
+ wcs = tmp
+__116:
+ ;
+ goto __110
+__111:
+ ;
+ if !(!(Xmbsinit(tls, bp+268 /* &st */) != 0)) {
+ goto __118
+ }
+ goto input_fail
+__118:
+ ;
+ goto __106
+__105:
+ if !(alloc != 0) {
+ goto __119
+ }
+ s = Xmalloc(tls, k)
+ if !(!(s != 0)) {
+ goto __121
+ }
+ goto alloc_fail
+__121:
+ ;
+__122:
+ if !(*(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr(((AssignInt32(&c, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) + 1)))) != 0) {
+ goto __123
+ }
+ *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = int8(c)
+ if !(i == k) {
+ goto __124
+ }
+ k = k + (k + size_t(1))
+ tmp1 = Xrealloc(tls, s, k)
+ if !(!(tmp1 != 0)) {
+ goto __125
+ }
+ goto alloc_fail
+__125:
+ ;
+ s = tmp1
+__124:
+ ;
+ goto __122
+__123:
+ ;
+ goto __120
+__119:
+ if !(AssignUintptr(&s, dest) != 0) {
+ goto __126
+ }
+__128:
+ if !(*(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr(((AssignInt32(&c, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) + 1)))) != 0) {
+ goto __129
+ }
+ *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = int8(c)
+ goto __128
+__129:
+ ;
+ goto __127
+__126:
+__130:
+ if !(*(*uint8)(unsafe.Pointer(bp /* &scanset[0] */ + uintptr(((AssignInt32(&c, func() int32 {
+ if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) + 1)))) != 0) {
+ goto __131
+ }
+ goto __130
+__131:
+ ;
+__127:
+ ;
+__120:
+ ;
+__106:
+ ;
+ if (*FILE)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if !(!(((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1))) != 0)) {
+ goto __132
+ }
+ goto match_fail
+__132:
+ ;
+ if !((t == 'c') && (((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1))) != off_t(width))) {
+ goto __133
+ }
+ goto match_fail
+__133:
+ ;
+ if !(alloc != 0) {
+ goto __134
+ }
+ if !(size == 1) {
+ goto __135
+ }
+ *(*uintptr)(unsafe.Pointer(dest)) = wcs
+ goto __136
+__135:
+ *(*uintptr)(unsafe.Pointer(dest)) = s
+__136:
+ ;
+__134:
+ ;
+ if !(t != 'c') {
+ goto __137
+ }
+ if !(wcs != 0) {
+ goto __138
+ }
+ *(*wchar_t)(unsafe.Pointer(wcs + uintptr(i)*4)) = wchar_t(0)
+__138:
+ ;
+ if !(s != 0) {
+ goto __139
+ }
+ *(*int8)(unsafe.Pointer(s + uintptr(i))) = int8(0)
+__139:
+ ;
+__137:
+ ;
+ goto __70
+__74:
+__75:
+__76:
+ base = 16
+ goto int_common
+__77:
+ base = 8
+ goto int_common
+__78:
+__79:
+ base = 10
+ goto int_common
+__80:
+ base = 0
+int_common:
+ x = X__intscan(tls, f, uint32(base), 0, ((2 * uint64(0x7fffffffffffffff)) + uint64(1)))
+ if !(!(((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1))) != 0)) {
+ goto __140
+ }
+ goto match_fail
+__140:
+ ;
+ if !((t == 'p') && (dest != 0)) {
+ goto __141
+ }
+ *(*uintptr)(unsafe.Pointer(dest)) = uintptr(uintptr_t(x))
+ goto __142
+__141:
+ store_int(tls, dest, size, x)
+__142:
+ ;
+ goto __70
+__81:
+__82:
+__83:
+__84:
+__85:
+__86:
+__87:
+__88:
+ y = X__floatscan(tls, f, size, 0)
+ if !(!(((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1))) != 0)) {
+ goto __143
+ }
+ goto match_fail
+__143:
+ ;
+ if !(dest != 0) {
+ goto __144
+ }
+ switch size {
+ case 0:
+ goto __146
+ case 1:
+ goto __147
+ case 2:
+ goto __148
+ }
+ goto __145
+__146:
+ *(*float32)(unsafe.Pointer(dest)) = float32(y)
+ goto __145
+__147:
+ *(*float64)(unsafe.Pointer(dest)) = y
+ goto __145
+__148:
+ *(*float64)(unsafe.Pointer(dest)) = y
+ goto __145
+__145:
+ ;
+__144:
+ ;
+ goto __70
+__70:
+ ;
+
+ pos = pos + ((*FILE)(unsafe.Pointer((f))).shcnt + (off_t((int32((*FILE)(unsafe.Pointer((f))).rpos) - int32((*FILE)(unsafe.Pointer((f))).buf)) / 1)))
+ if !(dest != 0) {
+ goto __149
+ }
+ matches++
+__149:
+ ;
+ goto __4
+__4:
+ p++
+ goto __3
+ goto __5
+__5:
+ ;
+ if !(0 != 0) {
+ goto __150
+ }
+fmt_fail:
+alloc_fail:
+input_fail:
+ if !(!(matches != 0)) {
+ goto __151
+ }
+ matches--
+__151:
+ ;
+match_fail:
+ if !(alloc != 0) {
+ goto __152
+ }
+ Xfree(tls, s)
+ Xfree(tls, wcs)
+__152:
+ ;
+__150:
+ ;
+__153:
+ if !(__need_unlock != 0) {
+ goto __156
+ }
+ X__unlockfile(tls, f)
+__156:
+ ;
+ goto __154
+__154:
+ if 0 != 0 {
+ goto __153
+ }
+ goto __155
+__155:
+ ;
+ return matches
+}
+
+func string_read(tls *TLS, f uintptr, buf uintptr, len size_t) size_t { /* vsscanf.c:4:15: */
+ var src uintptr = (*FILE)(unsafe.Pointer(f)).cookie
+ var k size_t = (len + size_t(256))
+ var end uintptr = Xmemchr(tls, src, 0, k)
+ if end != 0 {
+ k = (size_t((int32(end) - int32(src)) / 1))
+ }
+ if k < len {
+ len = k
+ }
+ Xmemcpy(tls, buf, src, len)
+ (*FILE)(unsafe.Pointer(f)).rpos = (src + uintptr(len))
+ (*FILE)(unsafe.Pointer(f)).rend = (src + uintptr(k))
+ (*FILE)(unsafe.Pointer(f)).cookie = (src + uintptr(k))
+ return len
+}
+
+func Xvsscanf(tls *TLS, s uintptr, fmt uintptr, ap va_list) int32 { /* vsscanf.c:18:5: */
+ bp := tls.Alloc(144)
+ defer tls.Free(144)
+
+ *(*FILE)(unsafe.Pointer(bp /* f */)) = FILE{read: *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ }{string_read})), buf: s, lock: -1, cookie: s}
+ return Xvfscanf(tls, bp /* &f */, fmt, ap)
+}
+
func strtox(tls *TLS, s uintptr, p uintptr, prec int32) float64 { /* strtod.c:6:20: */
bp := tls.Alloc(144)
defer tls.Free(144)
@@ -4233,5 +6661,151 @@ func Xstrtok(tls *TLS, s uintptr, sep uintptr) uintptr { /* strtok.c:3:6: */
var _sp uintptr /* strtok.c:5:14: */
+func X__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:3:5: */
+ return *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 3*4))
+}
+
+func Xpthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32 { /* pthread_attr_get.c:7:5: */
+ *(*int32)(unsafe.Pointer(state)) = *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 3*4))
+ return 0
+}
+
+//
+// int pthread_attr_getguardsize(const pthread_attr_t *restrict a, size_t *restrict size)
+// {
+// *size = a->_a_guardsize;
+// return 0;
+// }
+//
+// int pthread_attr_getinheritsched(const pthread_attr_t *restrict a, int *restrict inherit)
+// {
+// *inherit = a->_a_sched;
+// return 0;
+// }
+//
+// int pthread_attr_getschedparam(const pthread_attr_t *restrict a, struct sched_param *restrict param)
+// {
+// param->sched_priority = a->_a_prio;
+// return 0;
+// }
+//
+// int pthread_attr_getschedpolicy(const pthread_attr_t *restrict a, int *restrict policy)
+// {
+// *policy = a->_a_policy;
+// return 0;
+// }
+//
+// int pthread_attr_getscope(const pthread_attr_t *restrict a, int *restrict scope)
+// {
+// *scope = PTHREAD_SCOPE_SYSTEM;
+// return 0;
+// }
+//
+// int pthread_attr_getstack(const pthread_attr_t *restrict a, void **restrict addr, size_t *restrict size)
+// {
+// if (!a->_a_stackaddr)
+// return EINVAL;
+// *size = a->_a_stacksize;
+// *addr = (void *)(a->_a_stackaddr - *size);
+// return 0;
+// }
+//
+// int pthread_attr_getstacksize(const pthread_attr_t *restrict a, size_t *restrict size)
+// {
+// *size = a->_a_stacksize;
+// return 0;
+// }
+//
+// int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict a, int *restrict pshared)
+// {
+// *pshared = !!a->__attr;
+// return 0;
+// }
+//
+// int pthread_condattr_getclock(const pthread_condattr_t *restrict a, clockid_t *restrict clk)
+// {
+// *clk = a->__attr & 0x7fffffff;
+// return 0;
+// }
+//
+// int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restrict pshared)
+// {
+// *pshared = a->__attr>>31;
+// return 0;
+// }
+//
+// int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict a, int *restrict protocol)
+// {
+// *protocol = PTHREAD_PRIO_NONE;
+// return 0;
+// }
+// int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared)
+// {
+// *pshared = a->__attr / 128U % 2;
+// return 0;
+// }
+//
+// int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict a, int *restrict robust)
+// {
+// *robust = a->__attr / 4U % 2;
+// return 0;
+// }
+
+func X__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:93:5: */
+ return (int32((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & uint32(3)))
+}
+
+// int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict a, int *restrict type)
+// {
+// *type = a->__attr & 3;
+// return 0;
+// }
+//
+// int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict a, int *restrict pshared)
+// {
+// *pshared = a->__attr[0];
+// return 0;
+// }
+
+func Xpthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) int32 { /* pthread_attr_setdetachstate.c:3:5: */
+ if uint32(state) > 1 {
+ return 22
+ }
+ *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 3*4)) = state
+ return 0
+}
+
+func X__ccgo_getMutexType(tls *TLS, m uintptr) int32 { /* pthread_mutex_lock.c:3:5: */
+ return (*(*int32)(unsafe.Pointer((m /* &.__u */ /* &.__i */))) & 15)
+}
+
+// int __pthread_mutex_lock(pthread_mutex_t *m)
+// {
+// if ((m->_m_type&15) == PTHREAD_MUTEX_NORMAL
+// && !a_cas(&m->_m_lock, 0, EBUSY))
+// return 0;
+//
+// return __pthread_mutex_timedlock(m, 0);
+// }
+//
+// weak_alias(__pthread_mutex_lock, pthread_mutex_lock);
+
+func Xpthread_mutexattr_destroy(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_destroy.c:3:5: */
+ return 0
+}
+
+func Xpthread_mutexattr_init(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_init.c:3:5: */
+ *(*pthread_mutexattr_t)(unsafe.Pointer(a)) = pthread_mutexattr_t{}
+ return 0
+}
+
+func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pthread_mutexattr_settype.c:3:5: */
+ if uint32(type1) > uint32(2) {
+ return 22
+ }
+ (*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr = (((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & Uint32FromInt32(CplInt32(3))) | uint32(type1))
+ 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"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data