@zigc/lib 0.17.0-dev.39 → 0.17.0-dev.420
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/fcntl.zig +5 -0
- package/c/inttypes.zig +0 -10
- package/c/math.zig +52 -112
- package/c/pthread.zig +57 -0
- package/c/search.zig +1 -27
- package/c/stdlib/drand48.zig +0 -57
- package/c/stdlib.zig +31 -121
- package/c/string.zig +20 -7
- package/c/strings.zig +0 -38
- package/c/unistd.zig +28 -26
- package/c/wchar.zig +10 -0
- package/c.zig +2 -2
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +17 -17
- package/compiler/aro/aro/Driver.zig +14 -13
- package/compiler/aro/aro/Parser.zig +20 -15
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +11 -8
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +3 -2
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
- package/compiler/build_runner.zig +5 -5
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +4 -4
- package/compiler/resinator/errors.zig +7 -7
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/parse.zig +2 -2
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +1 -1
- package/compiler/test_runner.zig +25 -15
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +6 -2
- package/compiler/translate-c/ast.zig +16 -23
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -3
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +2 -2
- package/compiler_rt/divsf3.zig +1 -1
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/exp.zig +0 -2
- package/compiler_rt/exp2.zig +0 -2
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -3
- package/compiler_rt/float_from_int.zig +4 -5
- package/compiler_rt/fma.zig +0 -2
- package/compiler_rt/fmax.zig +1 -3
- package/compiler_rt/fmin.zig +1 -3
- package/compiler_rt/fmod.zig +2 -4
- package/compiler_rt/int_from_float.zig +1 -1
- package/compiler_rt/limb64.zig +3 -2
- package/compiler_rt/log.zig +0 -2
- package/compiler_rt/log10.zig +0 -2
- package/compiler_rt/log2.zig +0 -2
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/round.zig +0 -2
- package/compiler_rt/sin.zig +1 -3
- package/compiler_rt/sincos.zig +1 -3
- package/compiler_rt/sqrt.zig +0 -2
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -3
- package/compiler_rt/trunc.zig +0 -2
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/main.js +8 -8
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Parser.zig +16 -20
- package/fuzzer.zig +5 -3
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/libc/darwin/SDKSettings.json +1 -1
- package/libc/darwin/libSystem.tbd +88 -87
- package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
- package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
- package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
- package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
- package/libc/include/any-darwin-any/mach/host_info.h +3 -1
- package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
- package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
- package/libc/include/any-darwin-any/spawn.h +3 -1
- package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
- package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
- package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
- package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
- package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
- package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
- package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
- package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
- package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
- package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
- package/libc/include/any-linux-any/linux/android/binder.h +1 -1
- package/libc/include/any-linux-any/linux/bpf.h +28 -0
- package/libc/include/any-linux-any/linux/btrfs.h +1 -0
- package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
- package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
- package/libc/include/any-linux-any/linux/dpll.h +1 -0
- package/libc/include/any-linux-any/linux/elf.h +2 -0
- package/libc/include/any-linux-any/linux/ethtool.h +21 -5
- package/libc/include/any-linux-any/linux/fs.h +1 -0
- package/libc/include/any-linux-any/linux/hyperv.h +1 -1
- package/libc/include/any-linux-any/linux/idxd.h +134 -134
- package/libc/include/any-linux-any/linux/if_alg.h +1 -1
- package/libc/include/any-linux-any/linux/if_link.h +1 -0
- package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
- package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
- package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
- package/libc/include/any-linux-any/linux/io_uring.h +33 -2
- package/libc/include/any-linux-any/linux/iommufd.h +39 -0
- package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
- package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
- package/libc/include/any-linux-any/linux/kvm.h +30 -6
- package/libc/include/any-linux-any/linux/landlock.h +22 -8
- package/libc/include/any-linux-any/linux/magic.h +1 -0
- package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
- package/libc/include/any-linux-any/linux/mount.h +11 -2
- package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
- package/libc/include/any-linux-any/linux/mshv.h +2 -0
- package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
- package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
- package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
- package/libc/include/any-linux-any/linux/nfs.h +1 -1
- package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
- package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
- package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
- package/libc/include/any-linux-any/linux/nl80211.h +104 -3
- package/libc/include/any-linux-any/linux/pci.h +7 -0
- package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
- package/libc/include/any-linux-any/linux/pcitest.h +1 -0
- package/libc/include/any-linux-any/linux/perf_event.h +24 -3
- package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
- package/libc/include/any-linux-any/linux/prctl.h +30 -0
- package/libc/include/any-linux-any/linux/rseq.h +62 -5
- package/libc/include/any-linux-any/linux/shm.h +0 -1
- package/libc/include/any-linux-any/linux/stddef.h +4 -0
- package/libc/include/any-linux-any/linux/sysctl.h +1 -2
- package/libc/include/any-linux-any/linux/taskstats.h +12 -1
- package/libc/include/any-linux-any/linux/tcp.h +23 -3
- package/libc/include/any-linux-any/linux/typelimits.h +8 -0
- package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
- package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
- package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
- package/libc/include/any-linux-any/linux/vduse.h +80 -5
- package/libc/include/any-linux-any/linux/version.h +3 -3
- package/libc/include/any-linux-any/linux/vfio.h +4 -0
- package/libc/include/any-linux-any/linux/videodev2.h +3 -0
- package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
- package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
- package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
- package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
- package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
- package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
- package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
- package/libc/include/arc-linux-any/asm/swab.h +0 -63
- package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
- package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
- package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
- package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/generic-openbsd/db.h +1 -7
- package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
- package/libc/include/generic-openbsd/fnmatch.h +6 -2
- package/libc/include/generic-openbsd/login_cap.h +3 -1
- package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
- package/libc/include/generic-openbsd/net/bpf.h +3 -1
- package/libc/include/generic-openbsd/net/hfsc.h +4 -4
- package/libc/include/generic-openbsd/net/if.h +5 -1
- package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
- package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
- package/libc/include/generic-openbsd/net/if_media.h +26 -1
- package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
- package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
- package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
- package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
- package/libc/include/generic-openbsd/net/if_types.h +2 -2
- package/libc/include/generic-openbsd/net/if_var.h +34 -12
- package/libc/include/generic-openbsd/net/netisr.h +1 -3
- package/libc/include/generic-openbsd/net/pfvar.h +154 -1
- package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
- package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
- package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
- package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
- package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
- package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
- package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
- package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
- package/libc/include/generic-openbsd/netinet/ip.h +3 -2
- package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
- package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
- package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
- package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
- package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
- package/libc/include/generic-openbsd/pthread.h +2 -2
- package/libc/include/generic-openbsd/signal.h +2 -2
- package/libc/include/generic-openbsd/sndio.h +6 -12
- package/libc/include/generic-openbsd/strings.h +5 -1
- package/libc/include/generic-openbsd/sys/device.h +4 -3
- package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
- package/libc/include/generic-openbsd/sys/dkio.h +3 -5
- package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
- package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
- package/libc/include/generic-openbsd/sys/mman.h +7 -2
- package/libc/include/generic-openbsd/sys/mutex.h +10 -7
- package/libc/include/generic-openbsd/sys/namei.h +8 -7
- package/libc/include/generic-openbsd/sys/param.h +1 -1
- package/libc/include/generic-openbsd/sys/pledge.h +1 -3
- package/libc/include/generic-openbsd/sys/protosw.h +8 -1
- package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
- package/libc/include/generic-openbsd/sys/sched.h +8 -1
- package/libc/include/generic-openbsd/sys/signal.h +4 -2
- package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
- package/libc/include/generic-openbsd/sys/sockio.h +11 -1
- package/libc/include/generic-openbsd/sys/syscall.h +5 -3
- package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
- package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
- package/libc/include/generic-openbsd/sys/types.h +6 -2
- package/libc/include/generic-openbsd/sys/videoio.h +143 -68
- package/libc/include/generic-openbsd/sys/xcall.h +2 -2
- package/libc/include/generic-openbsd/time.h +2 -2
- package/libc/include/generic-openbsd/unistd.h +2 -2
- package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
- package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
- package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
- package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
- package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
- package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
- package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/mips-linux-any/asm/errno.h +2 -0
- package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
- package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
- package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
- package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
- package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
- package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
- package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
- package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
- package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
- package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
- package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
- package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
- package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
- package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/sparc-linux-any/asm/errno.h +2 -0
- package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
- package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
- package/libc/include/x86-linux-any/asm/kvm.h +13 -8
- package/libc/include/x86-linux-any/asm/svm.h +16 -16
- package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
- package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
- package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
- package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
- package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
- package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/openbsd/abilists +0 -0
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +948 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +1 -1
- package/std/Build/Cache.zig +6 -6
- package/std/Build/Step/Compile.zig +18 -19
- package/std/Build/Step/ConfigHeader.zig +1 -1
- package/std/Build/Step/Run.zig +15 -8
- package/std/Build/Step.zig +3 -7
- package/std/Build/Watch/FsEvents.zig +1 -1
- package/std/Build/WebServer.zig +2 -2
- package/std/Build/abi.zig +1 -1
- package/std/Io/Dir.zig +9 -7
- package/std/Io/Dispatch.zig +8 -18
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +6 -9
- package/std/Io/Kqueue.zig +3 -3
- package/std/Io/Reader.zig +8 -14
- package/std/Io/RwLock.zig +2 -0
- package/std/Io/Semaphore.zig +112 -17
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +176 -39
- package/std/Io/Uring.zig +18 -20
- package/std/Io/Writer.zig +54 -10
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +11 -11
- package/std/Io.zig +104 -38
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +3 -4
- package/std/Target/aarch64.zig +620 -77
- package/std/Target/amdgcn.zig +421 -21
- package/std/Target/arm.zig +40 -6
- package/std/Target/bpf.zig +6 -0
- package/std/Target/hexagon.zig +41 -6
- package/std/Target/loongarch.zig +18 -0
- package/std/Target/mips.zig +6 -0
- package/std/Target/nvptx.zig +58 -35
- package/std/Target/powerpc.zig +27 -19
- package/std/Target/riscv.zig +512 -177
- package/std/Target/sparc.zig +17 -0
- package/std/Target/spirv.zig +1 -1
- package/std/Target/wasm.zig +7 -0
- package/std/Target/x86.zig +200 -31
- package/std/Target/xtensa.zig +65 -0
- package/std/Target.zig +142 -60
- package/std/Thread.zig +17 -4
- package/std/array_hash_map.zig +103 -57
- package/std/array_list.zig +12 -33
- package/std/ascii.zig +0 -9
- package/std/atomic.zig +2 -0
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +85 -93
- package/std/c/haiku.zig +3 -0
- package/std/c/serenity.zig +1 -6
- package/std/c.zig +123 -32
- package/std/compress/flate/Decompress.zig +3 -4
- package/std/compress/zstd/Decompress.zig +7 -9
- package/std/crypto/25519/curve25519.zig +2 -2
- package/std/crypto/25519/edwards25519.zig +3 -3
- package/std/crypto/25519/ristretto255.zig +2 -2
- package/std/crypto/25519/scalar.zig +6 -6
- package/std/crypto/25519/x25519.zig +1 -1
- package/std/crypto/Certificate.zig +14 -2
- package/std/crypto/Sha1.zig +1 -1
- package/std/crypto/aegis.zig +45 -39
- package/std/crypto/aes_ccm.zig +22 -22
- package/std/crypto/aes_gcm.zig +10 -12
- package/std/crypto/aes_ocb.zig +9 -9
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -35
- package/std/crypto/bcrypt.zig +20 -10
- package/std/crypto/benchmark.zig +7 -7
- package/std/crypto/blake2.zig +100 -64
- package/std/crypto/cbc_mac.zig +1 -1
- package/std/crypto/chacha20.zig +10 -10
- package/std/crypto/cmac.zig +3 -3
- package/std/crypto/codecs/asn1/Oid.zig +12 -1
- package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
- package/std/crypto/codecs/asn1.zig +1 -1
- package/std/crypto/codecs/base64_hex_ct.zig +3 -5
- package/std/crypto/ecdsa.zig +9 -9
- package/std/crypto/ff.zig +4 -5
- package/std/crypto/ghash_polyval.zig +4 -4
- package/std/crypto/hkdf.zig +1 -1
- package/std/crypto/isap.zig +3 -3
- package/std/crypto/kangarootwelve.zig +1 -1
- package/std/crypto/keccak_p.zig +8 -8
- package/std/crypto/md5.zig +1 -1
- package/std/crypto/ml_dsa.zig +39 -39
- package/std/crypto/ml_kem.zig +12 -34
- package/std/crypto/modes.zig +2 -2
- package/std/crypto/pbkdf2.zig +1 -1
- package/std/crypto/pcurves/common.zig +4 -5
- package/std/crypto/pcurves/p256/scalar.zig +3 -3
- package/std/crypto/pcurves/p384/scalar.zig +2 -2
- package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
- package/std/crypto/pcurves/tests/p256.zig +5 -5
- package/std/crypto/pcurves/tests/p384.zig +5 -5
- package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
- package/std/crypto/salsa20.zig +8 -14
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -4
- package/std/crypto/siphash.zig +1 -1
- package/std/crypto/timing_safe.zig +10 -9
- package/std/crypto/tls/Client.zig +89 -13
- package/std/crypto/tls.zig +1 -1
- package/std/crypto.zig +4 -3
- package/std/debug/Dwarf.zig +21 -12
- package/std/debug/Pdb.zig +25 -17
- package/std/debug/SelfInfo/Elf.zig +1 -0
- package/std/debug/cpu_context.zig +168 -24
- package/std/debug.zig +17 -9
- package/std/deque.zig +1 -1
- package/std/elf.zig +20 -3
- package/std/enums.zig +8 -20
- package/std/fmt/float.zig +2 -0
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +14 -10
- package/std/fs/path.zig +7 -5
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +20 -1
- package/std/heap/ArenaAllocator.zig +3 -5
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/SafeAllocator.zig +2180 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +20 -133
- package/std/http/Client.zig +21 -24
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/static.zig +2 -2
- package/std/json.zig +1 -1
- package/std/{builtin → lang}/assembly.zig +71 -0
- package/std/{builtin.zig → lang.zig} +7 -1
- package/std/leb128.zig +2 -2
- package/std/math/acos.zig +6 -0
- package/std/math/asin.zig +6 -0
- package/std/math/atan.zig +5 -0
- package/std/math/big/int.zig +5 -5
- package/std/math/big.zig +4 -4
- package/std/math/copysign.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/frexp.zig +4 -4
- package/std/math/hypot.zig +4 -0
- package/std/math/ilogb.zig +1 -1
- package/std/math/isfinite.zig +1 -1
- package/std/math/isinf.zig +1 -1
- package/std/math/isnan.zig +1 -2
- package/std/math/isnormal.zig +2 -2
- package/std/math/iszero.zig +2 -2
- package/std/math/ldexp.zig +2 -2
- package/std/math/log10.zig +0 -2
- package/std/math/modf.zig +1 -2
- package/std/math/nextafter.zig +3 -4
- package/std/math/pow.zig +1 -1
- package/std/math/powi.zig +2 -3
- package/std/math/signbit.zig +0 -1
- package/std/math.zig +21 -26
- package/std/mem/Allocator.zig +2 -6
- package/std/mem.zig +52 -75
- package/std/meta/trailer_flags.zig +1 -1
- package/std/meta.zig +4 -36
- package/std/multi_array_list.zig +24 -0
- package/std/os/emscripten.zig +7 -6
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/alpha.zig +358 -0
- package/std/os/linux/arm.zig +0 -26
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/ioctl.zig +3 -2
- package/std/os/linux/syscalls.zig +528 -1
- package/std/os/linux/tls.zig +12 -1
- package/std/os/linux/x86.zig +2 -2
- package/std/os/linux/xtensa.zig +171 -0
- package/std/os/linux.zig +793 -51
- package/std/os/plan9.zig +1 -1
- package/std/os/uefi/hii.zig +1 -1
- package/std/os/uefi/tables/boot_services.zig +9 -8
- package/std/os/uefi/tables/runtime_services.zig +1 -1
- package/std/os/windows.zig +130 -1
- package/std/os.zig +36 -0
- package/std/pie.zig +21 -0
- package/std/posix.zig +2 -2
- package/std/process/Environ.zig +1 -1
- package/std/process.zig +6 -5
- package/std/simd.zig +4 -21
- package/std/sort.zig +3 -3
- package/std/start.zig +45 -12
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing.zig +68 -15
- package/std/unicode.zig +13 -8
- package/std/zig/Ast/Render.zig +6 -30
- package/std/zig/Ast.zig +12 -37
- package/std/zig/AstGen.zig +174 -258
- package/std/zig/AstRlAnnotate.zig +1 -11
- package/std/zig/AstSmith.zig +5 -11
- package/std/zig/ErrorBundle.zig +6 -2
- package/std/zig/LibCDirs.zig +14 -7
- package/std/zig/LibCInstallation.zig +34 -12
- package/std/zig/Parse.zig +11 -76
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +15 -69
- package/std/zig/ZonGen.zig +19 -27
- package/std/zig/llvm/Builder.zig +39 -33
- package/std/zig/llvm/bitcode_writer.zig +3 -3
- package/std/zig/llvm/ir.zig +8 -8
- package/std/zig/system/arm.zig +56 -2
- package/std/zig/system/linux.zig +4 -0
- package/std/zig/system/loongarch.zig +25 -9
- package/std/zig/system/windows.zig +34 -1
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +2 -8
- package/std/zig/target.zig +1 -4
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +3 -4
- package/std/zip.zig +5 -5
- package/std/zon/parse.zig +1 -1
- package/zig.h +364 -3
- package/compiler_rt/long_double.zig +0 -37
- package/include/amxbf16transposeintrin.h +0 -94
- package/include/amxcomplextransposeintrin.h +0 -303
- package/include/amxfp16transposeintrin.h +0 -94
- package/include/amxmovrstransposeintrin.h +0 -200
- package/include/amxtf32transposeintrin.h +0 -105
- package/include/amxtransposeintrin.h +0 -248
- package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
- package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
- package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
- package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/i386/lrintl.c +0 -8
- package/libc/musl/src/math/i386/rintl.c +0 -7
- package/libc/musl/src/math/lrintl.c +0 -36
- package/libc/musl/src/math/rintl.c +0 -29
- package/libc/musl/src/math/s390x/rintl.c +0 -15
- package/libc/musl/src/math/x32/lrintl.s +0 -7
- package/libc/musl/src/math/x32/rintl.s +0 -6
- package/libc/musl/src/math/x86_64/lrintl.c +0 -8
- package/libc/musl/src/math/x86_64/rintl.c +0 -7
- package/libc/musl/src/string/strdup.c +0 -10
- package/libc/musl/src/string/strndup.c +0 -12
- package/libc/musl/src/string/wcsdup.c +0 -10
- package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
- package/libc/musl/src/thread/pthread_spin_init.c +0 -6
- package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
- package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
- package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
- package/libc/musl/src/unistd/dup2.c +0 -20
- package/libc/musl/src/unistd/dup3.c +0 -26
- package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
- package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
- package/std/Build/Step/CheckObject.zig +0 -2764
package/std/math/powi.zig
CHANGED
|
@@ -15,12 +15,12 @@ const testing = std.testing;
|
|
|
15
15
|
/// - Underflow: Absolute value of result smaller than 1
|
|
16
16
|
///
|
|
17
17
|
/// Edge case rules ordered by precedence:
|
|
18
|
-
/// - powi(T, x, 0) = 1 unless T is i1,
|
|
18
|
+
/// - powi(T, x, 0) = 1 unless T is i1, u0
|
|
19
19
|
/// - powi(T, 0, x) = 0 when x > 0
|
|
20
20
|
/// - powi(T, 0, x) = Overflow
|
|
21
21
|
/// - powi(T, 1, y) = 1
|
|
22
22
|
/// - powi(T, -1, y) = -1 for y an odd integer
|
|
23
|
-
/// - powi(T, -1, y) = 1 unless T is i1,
|
|
23
|
+
/// - powi(T, -1, y) = 1 unless T is i1, u0
|
|
24
24
|
/// - powi(T, -1, y) = Overflow
|
|
25
25
|
/// - powi(T, x, y) = Overflow when y >= @bitSizeOf(x)
|
|
26
26
|
/// - powi(T, x, y) = Underflow when y < 0
|
|
@@ -189,7 +189,6 @@ test "powi.special" {
|
|
|
189
189
|
|
|
190
190
|
test "powi.narrow" {
|
|
191
191
|
try testing.expectError(error.Overflow, powi(u0, 0, 0));
|
|
192
|
-
try testing.expectError(error.Overflow, powi(i0, 0, 0));
|
|
193
192
|
try testing.expectError(error.Overflow, powi(i1, 0, 0));
|
|
194
193
|
try testing.expectError(error.Overflow, powi(i1, -1, 0));
|
|
195
194
|
try testing.expectError(error.Overflow, powi(i1, 0, -1));
|
package/std/math/signbit.zig
CHANGED
package/std/math.zig
CHANGED
|
@@ -58,6 +58,7 @@ pub const floatMax = float.floatMax;
|
|
|
58
58
|
pub const floatEps = float.floatEps;
|
|
59
59
|
pub const floatEpsAt = float.floatEpsAt;
|
|
60
60
|
pub const inf = float.inf;
|
|
61
|
+
pub const long_double = float.long_double;
|
|
61
62
|
pub const nan = float.nan;
|
|
62
63
|
pub const snan = float.snan;
|
|
63
64
|
|
|
@@ -778,7 +779,7 @@ pub fn Log2Int(comptime T: type) type {
|
|
|
778
779
|
if (T == comptime_int) return comptime_int;
|
|
779
780
|
const bits: u16 = @typeInfo(T).int.bits;
|
|
780
781
|
const log2_bits = 16 - @clz(bits - 1);
|
|
781
|
-
return
|
|
782
|
+
return @Int(.unsigned, log2_bits);
|
|
782
783
|
}
|
|
783
784
|
|
|
784
785
|
/// Returns an unsigned int type that can hold the number of bits in T.
|
|
@@ -787,7 +788,7 @@ pub fn Log2IntCeil(comptime T: type) type {
|
|
|
787
788
|
if (T == comptime_int) return comptime_int;
|
|
788
789
|
const bits: u16 = @typeInfo(T).int.bits;
|
|
789
790
|
const log2_bits = 16 - @clz(bits);
|
|
790
|
-
return
|
|
791
|
+
return @Int(.unsigned, log2_bits);
|
|
791
792
|
}
|
|
792
793
|
|
|
793
794
|
/// Returns the smallest integer type that can hold both from and to.
|
|
@@ -1047,10 +1048,10 @@ fn testRem() !void {
|
|
|
1047
1048
|
|
|
1048
1049
|
/// Returns the negation of the integer parameter.
|
|
1049
1050
|
/// Result is a signed integer.
|
|
1050
|
-
pub fn negateCast(x: anytype)
|
|
1051
|
+
pub fn negateCast(x: anytype) !@Int(.signed, @bitSizeOf(@TypeOf(x))) {
|
|
1051
1052
|
if (@typeInfo(@TypeOf(x)).int.signedness == .signed) return negate(x);
|
|
1052
1053
|
|
|
1053
|
-
const int =
|
|
1054
|
+
const int = @Int(.signed, @bitSizeOf(@TypeOf(x)));
|
|
1054
1055
|
if (x > -minInt(int)) return error.Overflow;
|
|
1055
1056
|
|
|
1056
1057
|
if (x == -minInt(int)) return minInt(int);
|
|
@@ -1140,13 +1141,11 @@ test isPowerOfTwo {
|
|
|
1140
1141
|
pub fn ByteAlignedInt(comptime T: type) type {
|
|
1141
1142
|
const info = @typeInfo(T).int;
|
|
1142
1143
|
const bits = (info.bits + 7) / 8 * 8;
|
|
1143
|
-
|
|
1144
|
-
return extended_type;
|
|
1144
|
+
return @Int(info.signedness, bits);
|
|
1145
1145
|
}
|
|
1146
1146
|
|
|
1147
1147
|
test ByteAlignedInt {
|
|
1148
1148
|
try testing.expect(ByteAlignedInt(u0) == u0);
|
|
1149
|
-
try testing.expect(ByteAlignedInt(i0) == i0);
|
|
1150
1149
|
try testing.expect(ByteAlignedInt(u3) == u8);
|
|
1151
1150
|
try testing.expect(ByteAlignedInt(u8) == u8);
|
|
1152
1151
|
try testing.expect(ByteAlignedInt(i111) == i112);
|
|
@@ -1178,7 +1177,7 @@ pub inline fn floor(value: anytype) @TypeOf(value) {
|
|
|
1178
1177
|
/// Returns the nearest power of two less than or equal to value, or
|
|
1179
1178
|
/// zero if value is less than or equal to zero.
|
|
1180
1179
|
pub fn floorPowerOfTwo(comptime T: type, value: T) T {
|
|
1181
|
-
const uT =
|
|
1180
|
+
const uT = @Int(.unsigned, @typeInfo(T).int.bits);
|
|
1182
1181
|
if (value <= 0) return 0;
|
|
1183
1182
|
return @as(T, 1) << log2_int(uT, @as(uT, @intCast(value)));
|
|
1184
1183
|
}
|
|
@@ -1213,11 +1212,11 @@ pub inline fn ceil(value: anytype) @TypeOf(value) {
|
|
|
1213
1212
|
/// Returns the next power of two (if the value is not already a power of two).
|
|
1214
1213
|
/// Only unsigned integers can be used. Zero is not an allowed input.
|
|
1215
1214
|
/// Result is a type with 1 more bit than the input type.
|
|
1216
|
-
pub fn ceilPowerOfTwoPromote(comptime T: type, value: T)
|
|
1215
|
+
pub fn ceilPowerOfTwoPromote(comptime T: type, value: T) @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1) {
|
|
1217
1216
|
comptime assert(@typeInfo(T) == .int);
|
|
1218
1217
|
comptime assert(@typeInfo(T).int.signedness == .unsigned);
|
|
1219
1218
|
assert(value != 0);
|
|
1220
|
-
const PromotedType =
|
|
1219
|
+
const PromotedType = @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1);
|
|
1221
1220
|
const ShiftType = std.math.Log2Int(PromotedType);
|
|
1222
1221
|
return @as(PromotedType, 1) << @as(ShiftType, @intCast(@typeInfo(T).int.bits - @clz(value - 1)));
|
|
1223
1222
|
}
|
|
@@ -1229,7 +1228,7 @@ pub fn ceilPowerOfTwo(comptime T: type, value: T) (error{Overflow}!T) {
|
|
|
1229
1228
|
comptime assert(@typeInfo(T) == .int);
|
|
1230
1229
|
const info = @typeInfo(T).int;
|
|
1231
1230
|
comptime assert(info.signedness == .unsigned);
|
|
1232
|
-
const PromotedType =
|
|
1231
|
+
const PromotedType = @Int(info.signedness, info.bits + 1);
|
|
1233
1232
|
const overflowBit = @as(PromotedType, 1) << info.bits;
|
|
1234
1233
|
const x = ceilPowerOfTwoPromote(T, value);
|
|
1235
1234
|
if (overflowBit & x != 0) {
|
|
@@ -1441,19 +1440,17 @@ test lerp {
|
|
|
1441
1440
|
|
|
1442
1441
|
/// Returns the maximum value of integer type T.
|
|
1443
1442
|
pub fn maxInt(comptime T: type) comptime_int {
|
|
1444
|
-
const info = @typeInfo(T);
|
|
1445
|
-
|
|
1446
|
-
if (bit_count == 0) return 0;
|
|
1447
|
-
return (1 << (bit_count - @intFromBool(info.int.signedness == .signed))) - 1;
|
|
1443
|
+
const info = @typeInfo(T).int;
|
|
1444
|
+
return (1 << (info.bits - @intFromBool(info.signedness == .signed))) - 1;
|
|
1448
1445
|
}
|
|
1449
1446
|
|
|
1450
1447
|
/// Returns the minimum value of integer type T.
|
|
1451
1448
|
pub fn minInt(comptime T: type) comptime_int {
|
|
1452
|
-
const info = @typeInfo(T);
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1449
|
+
const info = @typeInfo(T).int;
|
|
1450
|
+
return switch (info.signedness) {
|
|
1451
|
+
.unsigned => 0,
|
|
1452
|
+
.signed => -(1 << (info.bits - 1)),
|
|
1453
|
+
};
|
|
1457
1454
|
}
|
|
1458
1455
|
|
|
1459
1456
|
test maxInt {
|
|
@@ -1465,7 +1462,6 @@ test maxInt {
|
|
|
1465
1462
|
try testing.expect(maxInt(u64) == 18446744073709551615);
|
|
1466
1463
|
try testing.expect(maxInt(u128) == 340282366920938463463374607431768211455);
|
|
1467
1464
|
|
|
1468
|
-
try testing.expect(maxInt(i0) == 0);
|
|
1469
1465
|
try testing.expect(maxInt(i1) == 0);
|
|
1470
1466
|
try testing.expect(maxInt(i8) == 127);
|
|
1471
1467
|
try testing.expect(maxInt(i16) == 32767);
|
|
@@ -1485,7 +1481,6 @@ test minInt {
|
|
|
1485
1481
|
try testing.expect(minInt(u64) == 0);
|
|
1486
1482
|
try testing.expect(minInt(u128) == 0);
|
|
1487
1483
|
|
|
1488
|
-
try testing.expect(minInt(i0) == 0);
|
|
1489
1484
|
try testing.expect(minInt(i1) == -1);
|
|
1490
1485
|
try testing.expect(minInt(i8) == -128);
|
|
1491
1486
|
try testing.expect(minInt(i16) == -32768);
|
|
@@ -1502,11 +1497,11 @@ test "max value type" {
|
|
|
1502
1497
|
|
|
1503
1498
|
/// Multiply a and b. Return type is wide enough to guarantee no
|
|
1504
1499
|
/// overflow.
|
|
1505
|
-
pub fn mulWide(comptime T: type, a: T, b: T)
|
|
1500
|
+
pub fn mulWide(comptime T: type, a: T, b: T) @Int(
|
|
1506
1501
|
@typeInfo(T).int.signedness,
|
|
1507
1502
|
@typeInfo(T).int.bits * 2,
|
|
1508
1503
|
) {
|
|
1509
|
-
const ResultInt =
|
|
1504
|
+
const ResultInt = @Int(
|
|
1510
1505
|
@typeInfo(T).int.signedness,
|
|
1511
1506
|
@typeInfo(T).int.bits * 2,
|
|
1512
1507
|
);
|
|
@@ -1709,8 +1704,8 @@ pub inline fn boolMask(comptime MaskInt: type, value: bool) MaskInt {
|
|
|
1709
1704
|
if (@typeInfo(MaskInt) != .int)
|
|
1710
1705
|
@compileError("boolMask requires an integer mask type.");
|
|
1711
1706
|
|
|
1712
|
-
if (MaskInt == u0
|
|
1713
|
-
@compileError("boolMask cannot convert to u0
|
|
1707
|
+
if (MaskInt == u0)
|
|
1708
|
+
@compileError("boolMask cannot convert to u0, it is too small.");
|
|
1714
1709
|
|
|
1715
1710
|
// The u1 and i1 cases tend to overflow,
|
|
1716
1711
|
// so we special case them here.
|
package/std/mem/Allocator.zig
CHANGED
|
@@ -23,6 +23,8 @@ pub const VTable = struct {
|
|
|
23
23
|
/// Return a pointer to `len` bytes with specified `alignment`, or return
|
|
24
24
|
/// `null` indicating the allocation failed.
|
|
25
25
|
///
|
|
26
|
+
/// `new_len` must be greater than zero.
|
|
27
|
+
///
|
|
26
28
|
/// `ret_addr` is optionally provided as the first return address of the
|
|
27
29
|
/// allocation call stack. If the value is `0` it means no return address
|
|
28
30
|
/// has been provided.
|
|
@@ -456,12 +458,6 @@ pub fn dupe(allocator: Allocator, comptime T: type, m: []const T) Error![]T {
|
|
|
456
458
|
return new_buf;
|
|
457
459
|
}
|
|
458
460
|
|
|
459
|
-
/// Deprecated in favor of `dupeSentinel`
|
|
460
|
-
/// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
|
|
461
|
-
pub fn dupeZ(allocator: Allocator, comptime T: type, m: []const T) Error![:0]T {
|
|
462
|
-
return allocator.dupeSentinel(T, m, 0);
|
|
463
|
-
}
|
|
464
|
-
|
|
465
461
|
/// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
|
|
466
462
|
pub fn dupeSentinel(
|
|
467
463
|
allocator: Allocator,
|
package/std/mem.zig
CHANGED
|
@@ -201,9 +201,12 @@ test "Allocator.resize" {
|
|
|
201
201
|
defer testing.allocator.free(values);
|
|
202
202
|
|
|
203
203
|
for (values, 0..) |*v, i| v.* = @as(T, @intCast(i));
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
if (testing.allocator.resize(values, values.len + 10)) {
|
|
205
|
+
values = values.ptr[0 .. values.len + 10];
|
|
206
|
+
try testing.expect(values.len == 110);
|
|
207
|
+
} else {
|
|
208
|
+
// `resize` is not guaranteed to succeed even if there is sufficient memory.
|
|
209
|
+
}
|
|
207
210
|
}
|
|
208
211
|
|
|
209
212
|
const primitiveFloatTypes = .{
|
|
@@ -217,9 +220,12 @@ test "Allocator.resize" {
|
|
|
217
220
|
defer testing.allocator.free(values);
|
|
218
221
|
|
|
219
222
|
for (values, 0..) |*v, i| v.* = @as(T, @floatFromInt(i));
|
|
220
|
-
if (
|
|
221
|
-
|
|
222
|
-
|
|
223
|
+
if (testing.allocator.resize(values, values.len + 10)) {
|
|
224
|
+
values = values.ptr[0 .. values.len + 10];
|
|
225
|
+
try testing.expect(values.len == 110);
|
|
226
|
+
} else {
|
|
227
|
+
// `resize` is not guaranteed to succeed even if there is sufficient memory.
|
|
228
|
+
}
|
|
223
229
|
}
|
|
224
230
|
}
|
|
225
231
|
|
|
@@ -359,7 +365,10 @@ test zeroes {
|
|
|
359
365
|
var a = zeroes(C_struct);
|
|
360
366
|
|
|
361
367
|
// Extern structs should have padding zeroed out.
|
|
362
|
-
|
|
368
|
+
{
|
|
369
|
+
const num_bytes = @sizeOf(@TypeOf(a));
|
|
370
|
+
try testing.expectEqualSlices(u8, &@as([num_bytes]u8, @splat(0)), @ptrCast(&a));
|
|
371
|
+
}
|
|
363
372
|
|
|
364
373
|
a.y += 10;
|
|
365
374
|
|
|
@@ -370,7 +379,6 @@ test zeroes {
|
|
|
370
379
|
comptime comptime_field: u8 = 5,
|
|
371
380
|
|
|
372
381
|
integral_types: struct {
|
|
373
|
-
integer_0: i0,
|
|
374
382
|
integer_8: i8,
|
|
375
383
|
integer_16: i16,
|
|
376
384
|
integer_32: i32,
|
|
@@ -405,7 +413,6 @@ test zeroes {
|
|
|
405
413
|
|
|
406
414
|
const b = zeroes(ZigStruct);
|
|
407
415
|
try testing.expectEqual(@as(u8, 5), b.comptime_field);
|
|
408
|
-
try testing.expectEqual(@as(i8, 0), b.integral_types.integer_0);
|
|
409
416
|
try testing.expectEqual(@as(i8, 0), b.integral_types.integer_8);
|
|
410
417
|
try testing.expectEqual(@as(i16, 0), b.integral_types.integer_16);
|
|
411
418
|
try testing.expectEqual(@as(i32, 0), b.integral_types.integer_32);
|
|
@@ -1589,7 +1596,7 @@ test find {
|
|
|
1589
1596
|
test "find multibyte" {
|
|
1590
1597
|
{
|
|
1591
1598
|
// make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
|
|
1592
|
-
const haystack = [
|
|
1599
|
+
const haystack = @as([100]u16, @splat(0)) ++ [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff };
|
|
1593
1600
|
const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
|
|
1594
1601
|
try testing.expectEqual(findPos(u16, &haystack, 0, &needle), 100);
|
|
1595
1602
|
|
|
@@ -1602,7 +1609,7 @@ test "find multibyte" {
|
|
|
1602
1609
|
|
|
1603
1610
|
{
|
|
1604
1611
|
// make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
|
|
1605
|
-
const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ [
|
|
1612
|
+
const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ @as([100]u16, @splat(0));
|
|
1606
1613
|
const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
|
|
1607
1614
|
try testing.expectEqual(lastIndexOf(u16, &haystack, &needle), 0);
|
|
1608
1615
|
|
|
@@ -1690,7 +1697,7 @@ test countScalar {
|
|
|
1690
1697
|
//
|
|
1691
1698
|
/// See also: `containsAtLeastScalar`
|
|
1692
1699
|
pub fn containsAtLeast(comptime T: type, haystack: []const T, expected_count: usize, needle: []const T) bool {
|
|
1693
|
-
if (needle.len == 1) return containsAtLeastScalar(T, haystack,
|
|
1700
|
+
if (needle.len == 1) return containsAtLeastScalar(T, haystack, needle[0], expected_count);
|
|
1694
1701
|
assert(needle.len > 0);
|
|
1695
1702
|
if (expected_count == 0) return true;
|
|
1696
1703
|
|
|
@@ -1721,17 +1728,12 @@ test containsAtLeast {
|
|
|
1721
1728
|
try testing.expect(!containsAtLeast(u8, " radar radar ", 3, "radar"));
|
|
1722
1729
|
}
|
|
1723
1730
|
|
|
1724
|
-
/// Deprecated in favor of `containsAtLeastScalar2`.
|
|
1725
|
-
pub fn containsAtLeastScalar(comptime T: type, list: []const T, minimum: usize, element: T) bool {
|
|
1726
|
-
return containsAtLeastScalar2(T, list, element, minimum);
|
|
1727
|
-
}
|
|
1728
|
-
|
|
1729
1731
|
/// Returns true if `element` appears at least `minimum` number of times in `list`.
|
|
1730
1732
|
//
|
|
1731
1733
|
/// Related:
|
|
1732
1734
|
/// * `containsAtLeast`
|
|
1733
1735
|
/// * `countScalar`
|
|
1734
|
-
pub fn
|
|
1736
|
+
pub fn containsAtLeastScalar(comptime T: type, list: []const T, element: T, minimum: usize) bool {
|
|
1735
1737
|
const n = list.len;
|
|
1736
1738
|
var i: usize = 0;
|
|
1737
1739
|
var found: usize = 0;
|
|
@@ -1759,14 +1761,14 @@ pub fn containsAtLeastScalar2(comptime T: type, list: []const T, element: T, min
|
|
|
1759
1761
|
return false;
|
|
1760
1762
|
}
|
|
1761
1763
|
|
|
1762
|
-
test
|
|
1763
|
-
try testing.expect(
|
|
1764
|
-
try testing.expect(
|
|
1765
|
-
try testing.expect(
|
|
1766
|
-
try testing.expect(!
|
|
1764
|
+
test containsAtLeastScalar {
|
|
1765
|
+
try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 0));
|
|
1766
|
+
try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 1));
|
|
1767
|
+
try testing.expect(containsAtLeastScalar(u8, "aa", 'a', 2));
|
|
1768
|
+
try testing.expect(!containsAtLeastScalar(u8, "aa", 'a', 3));
|
|
1767
1769
|
|
|
1768
|
-
try testing.expect(
|
|
1769
|
-
try testing.expect(!
|
|
1770
|
+
try testing.expect(containsAtLeastScalar(u8, "adadda", 'd', 3));
|
|
1771
|
+
try testing.expect(!containsAtLeastScalar(u8, "adadda", 'd', 4));
|
|
1770
1772
|
}
|
|
1771
1773
|
|
|
1772
1774
|
/// Reads an integer from memory with size equal to bytes.len.
|
|
@@ -1776,7 +1778,7 @@ pub fn readVarInt(comptime ReturnType: type, bytes: []const u8, endian: Endian)
|
|
|
1776
1778
|
assert(@typeInfo(ReturnType).int.bits >= bytes.len * 8);
|
|
1777
1779
|
const bits = @typeInfo(ReturnType).int.bits;
|
|
1778
1780
|
const signedness = @typeInfo(ReturnType).int.signedness;
|
|
1779
|
-
const WorkType =
|
|
1781
|
+
const WorkType = @Int(signedness, @max(16, bits));
|
|
1780
1782
|
var result: WorkType = 0;
|
|
1781
1783
|
switch (endian) {
|
|
1782
1784
|
.big => {
|
|
@@ -1827,8 +1829,8 @@ pub fn readVarPackedInt(
|
|
|
1827
1829
|
endian: std.builtin.Endian,
|
|
1828
1830
|
signedness: std.builtin.Signedness,
|
|
1829
1831
|
) T {
|
|
1830
|
-
const uN =
|
|
1831
|
-
const iN =
|
|
1832
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1833
|
+
const iN = @Int(.signed, @bitSizeOf(T));
|
|
1832
1834
|
const Log2N = std.math.Log2Int(T);
|
|
1833
1835
|
|
|
1834
1836
|
const read_size = (bit_count + (bit_offset % 8) + 7) / 8;
|
|
@@ -1920,7 +1922,7 @@ test readInt {
|
|
|
1920
1922
|
}
|
|
1921
1923
|
|
|
1922
1924
|
fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
1923
|
-
const uN =
|
|
1925
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1924
1926
|
const Log2N = std.math.Log2Int(T);
|
|
1925
1927
|
|
|
1926
1928
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -1928,7 +1930,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
|
|
|
1928
1930
|
|
|
1929
1931
|
const load_size = (bit_count + 7) / 8;
|
|
1930
1932
|
const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
|
|
1931
|
-
const LoadInt =
|
|
1933
|
+
const LoadInt = @Int(.unsigned, load_size * 8);
|
|
1932
1934
|
|
|
1933
1935
|
if (bit_count == 0)
|
|
1934
1936
|
return 0;
|
|
@@ -1946,7 +1948,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
|
|
|
1946
1948
|
}
|
|
1947
1949
|
|
|
1948
1950
|
fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
1949
|
-
const uN =
|
|
1951
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1950
1952
|
const Log2N = std.math.Log2Int(T);
|
|
1951
1953
|
|
|
1952
1954
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -1955,7 +1957,7 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
|
1955
1957
|
|
|
1956
1958
|
const load_size = (bit_count + 7) / 8;
|
|
1957
1959
|
const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
|
|
1958
|
-
const LoadInt =
|
|
1960
|
+
const LoadInt = @Int(.unsigned, load_size * 8);
|
|
1959
1961
|
|
|
1960
1962
|
if (bit_count == 0)
|
|
1961
1963
|
return 0;
|
|
@@ -1972,18 +1974,6 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
|
1972
1974
|
} else return @as(T, @bitCast(val));
|
|
1973
1975
|
}
|
|
1974
1976
|
|
|
1975
|
-
/// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .native)
|
|
1976
|
-
pub const readPackedIntNative = switch (native_endian) {
|
|
1977
|
-
.little => readPackedIntLittle,
|
|
1978
|
-
.big => readPackedIntBig,
|
|
1979
|
-
};
|
|
1980
|
-
|
|
1981
|
-
/// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .foreign)
|
|
1982
|
-
pub const readPackedIntForeign = switch (native_endian) {
|
|
1983
|
-
.little => readPackedIntBig,
|
|
1984
|
-
.big => readPackedIntLittle,
|
|
1985
|
-
};
|
|
1986
|
-
|
|
1987
1977
|
/// Loads an integer from packed memory.
|
|
1988
1978
|
/// Asserts that buffer contains at least bit_offset + @bitSizeOf(T) bits.
|
|
1989
1979
|
pub fn readPackedInt(comptime T: type, bytes: []const u8, bit_offset: usize, endian: Endian) T {
|
|
@@ -2060,7 +2050,7 @@ test writeInt {
|
|
|
2060
2050
|
}
|
|
2061
2051
|
|
|
2062
2052
|
fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
|
|
2063
|
-
const uN =
|
|
2053
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2064
2054
|
const Log2N = std.math.Log2Int(T);
|
|
2065
2055
|
|
|
2066
2056
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -2068,7 +2058,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
|
|
|
2068
2058
|
|
|
2069
2059
|
const store_size = (@bitSizeOf(T) + 7) / 8;
|
|
2070
2060
|
const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
|
|
2071
|
-
const StoreInt =
|
|
2061
|
+
const StoreInt = @Int(.unsigned, store_size * 8);
|
|
2072
2062
|
|
|
2073
2063
|
if (bit_count == 0)
|
|
2074
2064
|
return;
|
|
@@ -2093,7 +2083,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
|
|
|
2093
2083
|
}
|
|
2094
2084
|
|
|
2095
2085
|
fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
|
|
2096
|
-
const uN =
|
|
2086
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2097
2087
|
const Log2N = std.math.Log2Int(T);
|
|
2098
2088
|
|
|
2099
2089
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -2102,7 +2092,7 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T)
|
|
|
2102
2092
|
|
|
2103
2093
|
const store_size = (@bitSizeOf(T) + 7) / 8;
|
|
2104
2094
|
const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
|
|
2105
|
-
const StoreInt =
|
|
2095
|
+
const StoreInt = @Int(.unsigned, store_size * 8);
|
|
2106
2096
|
|
|
2107
2097
|
if (bit_count == 0)
|
|
2108
2098
|
return;
|
|
@@ -2127,18 +2117,6 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T)
|
|
|
2127
2117
|
writeInt(StoreInt, write_bytes[(byte_count - store_size)..][0..store_size], write_value, .big);
|
|
2128
2118
|
}
|
|
2129
2119
|
|
|
2130
|
-
/// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .native)
|
|
2131
|
-
pub const writePackedIntNative = switch (native_endian) {
|
|
2132
|
-
.little => writePackedIntLittle,
|
|
2133
|
-
.big => writePackedIntBig,
|
|
2134
|
-
};
|
|
2135
|
-
|
|
2136
|
-
/// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .foreign)
|
|
2137
|
-
pub const writePackedIntForeign = switch (native_endian) {
|
|
2138
|
-
.little => writePackedIntBig,
|
|
2139
|
-
.big => writePackedIntLittle,
|
|
2140
|
-
};
|
|
2141
|
-
|
|
2142
2120
|
/// Stores an integer to packed memory.
|
|
2143
2121
|
/// Asserts that buffer contains at least bit_offset + @bitSizeOf(T) bits.
|
|
2144
2122
|
pub fn writePackedInt(comptime T: type, bytes: []u8, bit_offset: usize, value: T, endian: Endian) void {
|
|
@@ -2159,7 +2137,7 @@ test writePackedInt {
|
|
|
2159
2137
|
/// If negative, the written value is sign-extended.
|
|
2160
2138
|
pub fn writeVarPackedInt(bytes: []u8, bit_offset: usize, bit_count: usize, value: anytype, endian: std.builtin.Endian) void {
|
|
2161
2139
|
const T = @TypeOf(value);
|
|
2162
|
-
const uN =
|
|
2140
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2163
2141
|
|
|
2164
2142
|
const bit_shift = @as(u3, @intCast(bit_offset % 8));
|
|
2165
2143
|
const write_size = (bit_count + bit_shift + 7) / 8;
|
|
@@ -2241,7 +2219,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
|
|
|
2241
2219
|
},
|
|
2242
2220
|
.bool => {},
|
|
2243
2221
|
.float => |float_info| {
|
|
2244
|
-
@field(ptr, f.name) = @bitCast(@byteSwap(@as(
|
|
2222
|
+
@field(ptr, f.name) = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(@field(ptr, f.name)))));
|
|
2245
2223
|
},
|
|
2246
2224
|
else => {
|
|
2247
2225
|
@field(ptr, f.name) = @byteSwap(@field(ptr, f.name));
|
|
@@ -2261,7 +2239,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
|
|
|
2261
2239
|
}
|
|
2262
2240
|
}
|
|
2263
2241
|
|
|
2264
|
-
const BackingInt =
|
|
2242
|
+
const BackingInt = @Int(.unsigned, @bitSizeOf(S));
|
|
2265
2243
|
ptr.* = @bitCast(@byteSwap(@as(BackingInt, @bitCast(ptr.*))));
|
|
2266
2244
|
},
|
|
2267
2245
|
.array => |info| {
|
|
@@ -2369,7 +2347,7 @@ pub fn byteSwapAllElements(comptime Elem: type, slice: []Elem) void {
|
|
|
2369
2347
|
},
|
|
2370
2348
|
.bool => {},
|
|
2371
2349
|
.float => |float_info| {
|
|
2372
|
-
elem.* = @bitCast(@byteSwap(@as(
|
|
2350
|
+
elem.* = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(elem.*))));
|
|
2373
2351
|
},
|
|
2374
2352
|
else => {
|
|
2375
2353
|
elem.* = @byteSwap(elem.*);
|
|
@@ -4647,7 +4625,7 @@ test "sliceAsBytes with sentinel slice" {
|
|
|
4647
4625
|
}
|
|
4648
4626
|
|
|
4649
4627
|
test "sliceAsBytes with zero-bit element type" {
|
|
4650
|
-
const lots_of_nothing
|
|
4628
|
+
const lots_of_nothing: [10_000]void = @splat({});
|
|
4651
4629
|
const bytes = sliceAsBytes(&lots_of_nothing);
|
|
4652
4630
|
try testing.expect(bytes.len == 0);
|
|
4653
4631
|
}
|
|
@@ -4799,7 +4777,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
|
|
|
4799
4777
|
const bits = t.int.bits;
|
|
4800
4778
|
if (bits <= max_gp_register_bits and builtin.zig_backend != .stage2_c) {
|
|
4801
4779
|
const val2 = @as(
|
|
4802
|
-
|
|
4780
|
+
@Int(t.int.signedness, @max(8, std.math.ceilPowerOfTwoAssert(u16, bits))),
|
|
4803
4781
|
val,
|
|
4804
4782
|
);
|
|
4805
4783
|
asm volatile (""
|
|
@@ -4809,8 +4787,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
|
|
|
4809
4787
|
} else doNotOptimizeAway(&val);
|
|
4810
4788
|
},
|
|
4811
4789
|
.float => {
|
|
4812
|
-
|
|
4813
|
-
if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c and !builtin.cpu.arch.isLoongArch()) {
|
|
4790
|
+
if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c) {
|
|
4814
4791
|
asm volatile (""
|
|
4815
4792
|
:
|
|
4816
4793
|
: [_] "rm" (val),
|
|
@@ -4866,8 +4843,8 @@ test doNotOptimizeAway {
|
|
|
4866
4843
|
doNotOptimizeAway(@as(u200, 0));
|
|
4867
4844
|
doNotOptimizeAway(@as(f32, 0.0));
|
|
4868
4845
|
doNotOptimizeAway(@as(f64, 0.0));
|
|
4869
|
-
doNotOptimizeAway([
|
|
4870
|
-
doNotOptimizeAway([
|
|
4846
|
+
doNotOptimizeAway(@as([4]u8, @splat(0)));
|
|
4847
|
+
doNotOptimizeAway(@as([100]u8, @splat(0)));
|
|
4871
4848
|
doNotOptimizeAway(@as(std.builtin.Endian, .little));
|
|
4872
4849
|
}
|
|
4873
4850
|
|
|
@@ -4964,7 +4941,7 @@ test isAligned {
|
|
|
4964
4941
|
}
|
|
4965
4942
|
|
|
4966
4943
|
test "freeing empty string with null-terminated sentinel" {
|
|
4967
|
-
const empty_string = try testing.allocator.
|
|
4944
|
+
const empty_string = try testing.allocator.dupeSentinel(u8, "", 0);
|
|
4968
4945
|
testing.allocator.free(empty_string);
|
|
4969
4946
|
}
|
|
4970
4947
|
|
|
@@ -5035,8 +5012,8 @@ test "read/write(Var)PackedInt" {
|
|
|
5035
5012
|
if (@bitSizeOf(PackedType) > @bitSizeOf(BackingType))
|
|
5036
5013
|
continue;
|
|
5037
5014
|
|
|
5038
|
-
const iPackedType =
|
|
5039
|
-
const uPackedType =
|
|
5015
|
+
const iPackedType = @Int(.signed, @bitSizeOf(PackedType));
|
|
5016
|
+
const uPackedType = @Int(.unsigned, @bitSizeOf(PackedType));
|
|
5040
5017
|
const Log2T = std.math.Log2Int(BackingType);
|
|
5041
5018
|
|
|
5042
5019
|
const offset_at_end = @bitSizeOf(BackingType) - @bitSizeOf(PackedType);
|
|
@@ -5103,8 +5080,8 @@ test "read/write(Var)PackedInt" {
|
|
|
5103
5080
|
}
|
|
5104
5081
|
|
|
5105
5082
|
const signedness = @typeInfo(PackedType).int.signedness;
|
|
5106
|
-
const NextPowerOfTwoInt =
|
|
5107
|
-
const ui64 =
|
|
5083
|
+
const NextPowerOfTwoInt = @Int(signedness, try std.math.ceilPowerOfTwo(u16, @bitSizeOf(PackedType)));
|
|
5084
|
+
const ui64 = @Int(signedness, 64);
|
|
5108
5085
|
inline for ([_]type{ PackedType, NextPowerOfTwoInt, ui64 }) |U| {
|
|
5109
5086
|
{ // Variable-size Read/Write (Native-endian)
|
|
5110
5087
|
|
|
@@ -13,7 +13,7 @@ pub fn TrailerFlags(comptime Fields: type) type {
|
|
|
13
13
|
return struct {
|
|
14
14
|
bits: Int,
|
|
15
15
|
|
|
16
|
-
pub const Int =
|
|
16
|
+
pub const Int = @Int(.unsigned, bit_count);
|
|
17
17
|
pub const bit_count = @typeInfo(Fields).@"struct".fields.len;
|
|
18
18
|
|
|
19
19
|
pub const FieldEnum = std.meta.FieldEnum(Fields);
|
package/std/meta.zig
CHANGED
|
@@ -751,11 +751,6 @@ pub fn fieldIndex(comptime T: type, comptime name: []const u8) ?comptime_int {
|
|
|
751
751
|
return null;
|
|
752
752
|
}
|
|
753
753
|
|
|
754
|
-
/// Deprecated: use @Int
|
|
755
|
-
pub fn Int(comptime signedness: std.builtin.Signedness, comptime bit_count: u16) type {
|
|
756
|
-
return @Int(signedness, bit_count);
|
|
757
|
-
}
|
|
758
|
-
|
|
759
754
|
pub fn Float(comptime bit_count: u8) type {
|
|
760
755
|
return switch (bit_count) {
|
|
761
756
|
16 => f16,
|
|
@@ -796,14 +791,7 @@ pub fn ArgsTuple(comptime Function: type) type {
|
|
|
796
791
|
argument_field_list[i] = T;
|
|
797
792
|
}
|
|
798
793
|
|
|
799
|
-
return Tuple(&argument_field_list);
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
/// Deprecated; use `@Tuple` instead.
|
|
803
|
-
///
|
|
804
|
-
/// To be removed after Zig 0.16.0 releases.
|
|
805
|
-
pub fn Tuple(comptime types: []const type) type {
|
|
806
|
-
return @Tuple(types);
|
|
794
|
+
return @Tuple(&argument_field_list);
|
|
807
795
|
}
|
|
808
796
|
|
|
809
797
|
const TupleTester = struct {
|
|
@@ -839,33 +827,13 @@ test ArgsTuple {
|
|
|
839
827
|
TupleTester.assertTuple(.{u32}, ArgsTuple(fn (comptime a: u32) []const u8));
|
|
840
828
|
}
|
|
841
829
|
|
|
842
|
-
test Tuple {
|
|
843
|
-
TupleTester.assertTuple(.{}, Tuple(&[_]type{}));
|
|
844
|
-
TupleTester.assertTuple(.{u32}, Tuple(&[_]type{u32}));
|
|
845
|
-
TupleTester.assertTuple(.{ u32, f16 }, Tuple(&[_]type{ u32, f16 }));
|
|
846
|
-
TupleTester.assertTuple(.{ u32, f16, []const u8, void }, Tuple(&[_]type{ u32, f16, []const u8, void }));
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
test "Tuple deduplication" {
|
|
850
|
-
const T1 = std.meta.Tuple(&.{ u32, f32, i8 });
|
|
851
|
-
const T2 = std.meta.Tuple(&.{ u32, f32, i8 });
|
|
852
|
-
const T3 = std.meta.Tuple(&.{ u32, f32, i7 });
|
|
853
|
-
|
|
854
|
-
if (T1 != T2) {
|
|
855
|
-
@compileError("std.meta.Tuple doesn't deduplicate tuple types.");
|
|
856
|
-
}
|
|
857
|
-
if (T1 == T3) {
|
|
858
|
-
@compileError("std.meta.Tuple fails to generate different types.");
|
|
859
|
-
}
|
|
860
|
-
}
|
|
861
|
-
|
|
862
830
|
test "ArgsTuple forwarding" {
|
|
863
|
-
const T1 =
|
|
831
|
+
const T1 = @Tuple(&.{ u32, f32, i8 });
|
|
864
832
|
const T2 = std.meta.ArgsTuple(fn (u32, f32, i8) void);
|
|
865
833
|
const T3 = std.meta.ArgsTuple(fn (u32, f32, i8) callconv(.c) noreturn);
|
|
866
834
|
|
|
867
835
|
if (T1 != T2) {
|
|
868
|
-
@compileError("std.meta.ArgsTuple produces different types than
|
|
836
|
+
@compileError("std.meta.ArgsTuple produces different types than @Tuple");
|
|
869
837
|
}
|
|
870
838
|
if (T1 != T3) {
|
|
871
839
|
@compileError("std.meta.ArgsTuple produces different types for the same argument lists.");
|
|
@@ -1067,7 +1035,7 @@ test hasUniqueRepresentation {
|
|
|
1067
1035
|
|
|
1068
1036
|
try testing.expect(!hasUniqueRepresentation(TestUnion4));
|
|
1069
1037
|
|
|
1070
|
-
inline for ([_]type{
|
|
1038
|
+
inline for ([_]type{ u8, i16, u32, i64 }) |T| {
|
|
1071
1039
|
try testing.expect(hasUniqueRepresentation(T));
|
|
1072
1040
|
try testing.expect(hasUniqueRepresentation(enum(T) { _ }));
|
|
1073
1041
|
}
|