@zigc/lib 0.17.0-dev.56 → 0.17.0-dev.607
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 +25 -96
- 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/{std/Build → compiler/Maker}/Fuzz.zig +177 -89
- package/compiler/Maker/Graph.zig +85 -0
- package/compiler/Maker/PkgConfig.zig +114 -0
- package/compiler/Maker/ScannedConfig.zig +370 -0
- package/compiler/Maker/Step/CheckFile.zig +63 -0
- package/compiler/Maker/Step/Compile.zig +1390 -0
- package/compiler/Maker/Step/ConfigHeader.zig +610 -0
- package/compiler/Maker/Step/FindProgram.zig +120 -0
- package/compiler/Maker/Step/Fmt.zig +65 -0
- package/compiler/Maker/Step/InstallArtifact.zig +141 -0
- package/compiler/Maker/Step/InstallDir.zig +99 -0
- package/compiler/Maker/Step/InstallFile.zig +26 -0
- package/compiler/Maker/Step/ObjCopy.zig +173 -0
- package/compiler/Maker/Step/Options.zig +104 -0
- package/compiler/Maker/Step/Run.zig +2372 -0
- package/compiler/Maker/Step/TranslateC.zig +152 -0
- package/compiler/Maker/Step/UpdateSourceFiles.zig +89 -0
- package/compiler/Maker/Step/WriteFile.zig +294 -0
- package/compiler/Maker/Step.zig +863 -0
- package/{std/Build → compiler/Maker}/Watch/FsEvents.zig +33 -24
- package/{std/Build → compiler/Maker}/Watch.zig +89 -68
- package/{std/Build → compiler/Maker}/WebServer.zig +145 -118
- package/compiler/Maker.zig +2051 -0
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +17 -17
- package/compiler/aro/aro/Driver.zig +18 -16
- 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/configurer.zig +1402 -0
- 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 +17 -38
- package/compiler/test_runner.zig +25 -15
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +2 -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 -1
- 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/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -1
- package/compiler_rt/float_from_int.zig +4 -5
- package/compiler_rt/fmax.zig +1 -1
- package/compiler_rt/fmin.zig +1 -1
- package/compiler_rt/fmod.zig +2 -2
- package/compiler_rt/int_from_float.zig +1 -1
- package/compiler_rt/limb64.zig +3 -2
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/sin.zig +1 -1
- package/compiler_rt/sincos.zig +1 -1
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -1
- 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/init/build.zig +1 -3
- 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 +9 -2
- package/std/Build/Cache.zig +16 -7
- package/std/Build/Configuration.zig +3436 -0
- package/std/Build/Module.zig +99 -225
- package/std/Build/Step/CheckFile.zig +17 -63
- package/std/Build/Step/Compile.zig +97 -1420
- package/std/Build/Step/ConfigHeader.zig +55 -944
- package/std/Build/Step/Fail.zig +10 -20
- package/std/Build/Step/FindProgram.zig +31 -0
- package/std/Build/Step/Fmt.zig +22 -57
- package/std/Build/Step/InstallArtifact.zig +26 -141
- package/std/Build/Step/InstallDir.zig +14 -67
- package/std/Build/Step/InstallFile.zig +12 -21
- package/std/Build/Step/ObjCopy.zig +82 -199
- package/std/Build/Step/Options.zig +26 -261
- package/std/Build/Step/Run.zig +139 -2214
- package/std/Build/Step/TranslateC.zig +55 -164
- package/std/Build/Step/UpdateSourceFiles.zig +38 -91
- package/std/Build/Step/WriteFile.zig +113 -328
- package/std/Build/Step.zig +45 -916
- package/std/Build/abi.zig +1 -1
- package/std/Build.zig +644 -718
- package/std/Io/Dir.zig +12 -7
- package/std/Io/Dispatch.zig +5 -5
- 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 +19 -16
- package/std/Io/Uring.zig +7 -7
- package/std/Io/Writer.zig +75 -10
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io.zig +92 -28
- 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 +4 -5
- 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 +94 -57
- package/std/Thread.zig +17 -4
- package/std/array_hash_map.zig +103 -57
- package/std/array_list.zig +20 -35
- 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/serenity.zig +1 -6
- package/std/c.zig +117 -36
- 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 +16 -8
- package/std/deque.zig +1 -1
- package/std/elf.zig +22 -5
- 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 +7 -8
- 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 +22 -2
- 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.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} +5 -3
- 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 +5 -9
- 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 +794 -52
- 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/Child.zig +20 -0
- package/std/process/Environ.zig +28 -4
- package/std/process.zig +13 -5
- package/std/simd.zig +4 -21
- 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 +49 -14
- package/std/zig/Parse.zig +11 -76
- package/std/zig/PkgConfig.zig +146 -0
- 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 +18 -25
- package/std/zig/target.zig +1 -4
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +98 -22
- package/std/zip.zig +5 -5
- package/std/zon/Serializer.zig +6 -2
- package/std/zon/parse.zig +1 -1
- package/zig.h +24 -2
- package/compiler/build_runner.zig +0 -1857
- 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/Io/Uring.zig
CHANGED
|
@@ -2812,7 +2812,7 @@ fn dirCreateFile(
|
|
|
2812
2812
|
userdata: ?*anyopaque,
|
|
2813
2813
|
dir: Dir,
|
|
2814
2814
|
sub_path: []const u8,
|
|
2815
|
-
flags:
|
|
2815
|
+
flags: Dir.CreateFileOptions,
|
|
2816
2816
|
) File.OpenError!File {
|
|
2817
2817
|
const ev: *Evented = @ptrCast(@alignCast(userdata));
|
|
2818
2818
|
|
|
@@ -2996,7 +2996,7 @@ fn dirOpenFile(
|
|
|
2996
2996
|
userdata: ?*anyopaque,
|
|
2997
2997
|
dir: Dir,
|
|
2998
2998
|
sub_path: []const u8,
|
|
2999
|
-
flags:
|
|
2999
|
+
flags: Dir.OpenFileOptions,
|
|
3000
3000
|
) File.OpenError!File {
|
|
3001
3001
|
const ev: *Evented = @ptrCast(@alignCast(userdata));
|
|
3002
3002
|
|
|
@@ -3070,7 +3070,7 @@ fn dirRead(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir.Read
|
|
|
3070
3070
|
}
|
|
3071
3071
|
const n = while (true) {
|
|
3072
3072
|
try sync.cancel_region.await(.nothing);
|
|
3073
|
-
const rc = linux.getdents64(dr.dir.handle, dr.buffer.ptr, dr.buffer.len);
|
|
3073
|
+
const rc = linux.getdents64(dr.dir.handle, dr.buffer.ptr, @min(dr.buffer.len, std.math.maxInt(c_uint)));
|
|
3074
3074
|
switch (linux.errno(rc)) {
|
|
3075
3075
|
.SUCCESS => break rc,
|
|
3076
3076
|
.INTR => {},
|
|
@@ -4104,7 +4104,7 @@ fn fileMemoryMapWrite(userdata: ?*anyopaque, mm: *File.MemoryMap) File.WritePosi
|
|
|
4104
4104
|
|
|
4105
4105
|
fn processExecutableOpen(
|
|
4106
4106
|
userdata: ?*anyopaque,
|
|
4107
|
-
flags:
|
|
4107
|
+
flags: Dir.OpenFileOptions,
|
|
4108
4108
|
) process.OpenExecutableError!File {
|
|
4109
4109
|
const ev: *Evented = @ptrCast(@alignCast(userdata));
|
|
4110
4110
|
return dirOpenFile(ev, .{ .handle = linux.AT.FDCWD }, "/proc/self/exe", flags);
|
|
@@ -4226,7 +4226,7 @@ fn processReplace(userdata: ?*anyopaque, options: process.ReplaceOptions) proces
|
|
|
4226
4226
|
const arena = arena_allocator.allocator();
|
|
4227
4227
|
|
|
4228
4228
|
const argv_buf = try arena.allocSentinel(?[*:0]const u8, options.argv.len, null);
|
|
4229
|
-
for (options.argv, 0..) |arg, i| argv_buf[i] = (try arena.
|
|
4229
|
+
for (options.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeSentinel(u8, arg, 0)).ptr;
|
|
4230
4230
|
|
|
4231
4231
|
const env_block = env_block: {
|
|
4232
4232
|
const prog_fd: i32 = -1;
|
|
@@ -4369,7 +4369,7 @@ fn spawn(ev: *Evented, options: process.SpawnOptions) process.SpawnError!Spawned
|
|
|
4369
4369
|
// Therefore, we do all the allocation for the execve() before the fork().
|
|
4370
4370
|
// This means we must do the null-termination of argv and env vars here.
|
|
4371
4371
|
const argv_buf = try arena.allocSentinel(?[*:0]const u8, options.argv.len, null);
|
|
4372
|
-
for (options.argv, 0..) |arg, i| argv_buf[i] = (try arena.
|
|
4372
|
+
for (options.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeSentinel(u8, arg, 0)).ptr;
|
|
4373
4373
|
|
|
4374
4374
|
const env_block = env_block: {
|
|
4375
4375
|
const prog_fd: i32 = if (prog_pipe[1] == -1) -1 else prog_fileno;
|
|
@@ -4958,7 +4958,7 @@ fn randomSecure(userdata: ?*anyopaque, buffer: []u8) Io.RandomSecureError!void {
|
|
|
4958
4958
|
var cancel_region: CancelRegion = .init();
|
|
4959
4959
|
defer cancel_region.deinit();
|
|
4960
4960
|
ev.urandomReadAll(&cancel_region, buffer) catch |err| switch (err) {
|
|
4961
|
-
error.Canceled => return
|
|
4961
|
+
error.Canceled => |e| return e,
|
|
4962
4962
|
else => return error.EntropyUnavailable,
|
|
4963
4963
|
};
|
|
4964
4964
|
}
|
package/std/Io/Writer.zig
CHANGED
|
@@ -781,7 +781,7 @@ test splatByteAll {
|
|
|
781
781
|
defer aw.deinit();
|
|
782
782
|
|
|
783
783
|
try aw.writer.splatByteAll('7', 45);
|
|
784
|
-
try testing.expectEqualStrings(
|
|
784
|
+
try testing.expectEqualStrings(&@as([45]u8, @splat('7')), aw.writer.buffered());
|
|
785
785
|
}
|
|
786
786
|
|
|
787
787
|
pub fn splatBytePreserve(w: *Writer, preserve: usize, byte: u8, n: usize) Error!void {
|
|
@@ -802,12 +802,14 @@ pub fn splatBytePreserve(w: *Writer, preserve: usize, byte: u8, n: usize) Error!
|
|
|
802
802
|
return;
|
|
803
803
|
}
|
|
804
804
|
}
|
|
805
|
-
//
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
805
|
+
// Ensure the contract of `rebase` is upheld.
|
|
806
|
+
assert(w.end + remaining > w.buffer.len);
|
|
807
|
+
// Offset the amount preserved by the amount we have left to splat
|
|
808
|
+
// since the remaining splat is always going to be part of that
|
|
809
|
+
// preservation.
|
|
810
|
+
try w.vtable.rebase(w, preserve -| remaining, remaining);
|
|
811
|
+
@memset(w.buffer[w.end..][0..remaining], byte);
|
|
812
|
+
w.end += remaining;
|
|
811
813
|
}
|
|
812
814
|
|
|
813
815
|
/// Writes the same byte many times, allowing short writes.
|
|
@@ -1170,6 +1172,14 @@ pub fn printValue(
|
|
|
1170
1172
|
},
|
|
1171
1173
|
else => invalidFmtError(fmt, value),
|
|
1172
1174
|
},
|
|
1175
|
+
'q' => switch (@typeInfo(T)) {
|
|
1176
|
+
.pointer => |info| switch (info.size) {
|
|
1177
|
+
.one, .slice => return printStringEscaped(w, value),
|
|
1178
|
+
.many, .c => return printStringEscaped(w, std.mem.span(value)),
|
|
1179
|
+
},
|
|
1180
|
+
.array => return printStringEscaped(w, &value),
|
|
1181
|
+
else => invalidFmtError(fmt, value),
|
|
1182
|
+
},
|
|
1173
1183
|
'B' => switch (@typeInfo(T)) {
|
|
1174
1184
|
.int, .comptime_int => return w.printByteSize(value, .decimal, options),
|
|
1175
1185
|
.@"struct" => return value.formatByteSize(w, .decimal),
|
|
@@ -1446,6 +1456,14 @@ fn printEnumNonexhaustive(w: *Writer, value: anytype) Error!void {
|
|
|
1446
1456
|
try w.writeByte(')');
|
|
1447
1457
|
}
|
|
1448
1458
|
|
|
1459
|
+
/// Prints a double quote, then escapes a string according to Zig string
|
|
1460
|
+
/// literal rules, then a double quote.
|
|
1461
|
+
pub fn printStringEscaped(w: *Writer, bytes: []const u8) Error!void {
|
|
1462
|
+
try w.writeByte('"');
|
|
1463
|
+
try std.zig.stringEscape(bytes, w);
|
|
1464
|
+
try w.writeByte('"');
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1449
1467
|
pub fn printVector(
|
|
1450
1468
|
w: *Writer,
|
|
1451
1469
|
comptime fmt: []const u8,
|
|
@@ -1517,7 +1535,7 @@ pub fn printIntAny(
|
|
|
1517
1535
|
// The type must have the same size as `base` or be wider in order for the
|
|
1518
1536
|
// division to work
|
|
1519
1537
|
const min_int_bits = comptime @max(value_info.bits, 8);
|
|
1520
|
-
const MinInt =
|
|
1538
|
+
const MinInt = @Int(.unsigned, min_int_bits);
|
|
1521
1539
|
|
|
1522
1540
|
const abs_value = @abs(value);
|
|
1523
1541
|
// The worst case in terms of space needed is base 2, plus 1 for the sign
|
|
@@ -1637,7 +1655,7 @@ pub fn printFloatHex(w: *Writer, value: anytype, case: std.fmt.Case, opt_precisi
|
|
|
1637
1655
|
});
|
|
1638
1656
|
|
|
1639
1657
|
const T = @TypeOf(v);
|
|
1640
|
-
const TU =
|
|
1658
|
+
const TU = @Int(.unsigned, @bitSizeOf(T));
|
|
1641
1659
|
|
|
1642
1660
|
const mantissa_bits = std.math.floatMantissaBits(T);
|
|
1643
1661
|
const fractional_bits = std.math.floatFractionalBits(T);
|
|
@@ -1924,7 +1942,6 @@ test "serialize signed LEB128" {
|
|
|
1924
1942
|
try testLeb128Encoding(i128, std.math.minInt(i128), "\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7E");
|
|
1925
1943
|
|
|
1926
1944
|
// Specific cases
|
|
1927
|
-
try testLeb128Encoding(i0, 0, "\x00");
|
|
1928
1945
|
try testLeb128Encoding(i8, 0, "\x00");
|
|
1929
1946
|
|
|
1930
1947
|
try testLeb128Encoding(i2, -1, "\x7F");
|
|
@@ -2101,6 +2118,11 @@ test "printFloat with comptime_float" {
|
|
|
2101
2118
|
try testing.expectFmt("1", "{}", .{1.0});
|
|
2102
2119
|
}
|
|
2103
2120
|
|
|
2121
|
+
test "{q} format string" {
|
|
2122
|
+
const data: []const u8 = "i\tlike\"cheese\x00\x05cheese";
|
|
2123
|
+
try testing.expectFmt("hello \"i\\tlike\\\"cheese\\x00\\x05cheese\" world", "hello {q} world", .{data});
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2104
2126
|
fn testPrintIntCase(expected: []const u8, value: anytype, base: u8, case: std.fmt.Case, options: std.fmt.Options) !void {
|
|
2105
2127
|
var buffer: [100]u8 = undefined;
|
|
2106
2128
|
var w: Writer = .fixed(&buffer);
|
|
@@ -2888,3 +2910,46 @@ test "writableSlice with fixed writer" {
|
|
|
2888
2910
|
try w.writeByte(1);
|
|
2889
2911
|
try std.testing.expectError(error.WriteFailed, w.writableSlice(2));
|
|
2890
2912
|
}
|
|
2913
|
+
|
|
2914
|
+
test splatBytePreserve {
|
|
2915
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 5, .splat_len = 5 });
|
|
2916
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 9, .preserve = 5, .splat_len = 2 });
|
|
2917
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 5, .splat_len = 6 });
|
|
2918
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 6, .splat_len = 6 });
|
|
2919
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 5, .splat_len = 10 });
|
|
2920
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 6, .splat_len = 10 });
|
|
2921
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 6, .splat_len = 11 });
|
|
2922
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 6, .splat_len = 80 });
|
|
2923
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 6, .splat_len = 85 });
|
|
2924
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 10, .splat_len = 6 });
|
|
2925
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 10, .splat_len = 11 });
|
|
2926
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 10, .splat_len = 80 });
|
|
2927
|
+
try testSplatBytePreserve(.{ .buf_len = 10, .fill_len = 5, .preserve = 10, .splat_len = 85 });
|
|
2928
|
+
}
|
|
2929
|
+
|
|
2930
|
+
fn testSplatBytePreserve(options: struct { buf_len: u4, fill_len: u4, preserve: u4, splat_len: u8 }) !void {
|
|
2931
|
+
assert(options.fill_len <= options.buf_len);
|
|
2932
|
+
assert(options.preserve <= options.buf_len);
|
|
2933
|
+
|
|
2934
|
+
const fill_buf = "abcdefghijklmno";
|
|
2935
|
+
const fill = fill_buf[0..options.fill_len];
|
|
2936
|
+
var expected_out_buf: [256]u8 = @splat('X');
|
|
2937
|
+
@memcpy(expected_out_buf[0..options.fill_len], fill);
|
|
2938
|
+
const expected_out = expected_out_buf[0 .. options.fill_len + options.splat_len];
|
|
2939
|
+
const expected_preserved = expected_out[expected_out.len -| options.preserve..];
|
|
2940
|
+
|
|
2941
|
+
var out_buf: [256]u8 = undefined;
|
|
2942
|
+
var fw: Writer = .fixed(&out_buf);
|
|
2943
|
+
var indirect_buffer: [16]u8 = undefined;
|
|
2944
|
+
var twi: std.testing.WriterIndirect = .init(&fw, indirect_buffer[0..options.buf_len]);
|
|
2945
|
+
const w = &twi.interface;
|
|
2946
|
+
|
|
2947
|
+
try w.writeAll(fill);
|
|
2948
|
+
try w.splatBytePreserve(options.preserve, 'X', options.splat_len);
|
|
2949
|
+
|
|
2950
|
+
try std.testing.expectEqualStrings(expected_preserved, w.buffer[w.end -| options.preserve..w.end]);
|
|
2951
|
+
|
|
2952
|
+
try w.flush();
|
|
2953
|
+
|
|
2954
|
+
try std.testing.expectEqualStrings(expected_out, fw.buffer[0..fw.end]);
|
|
2955
|
+
}
|
package/std/Io/net/HostName.zig
CHANGED
|
@@ -76,9 +76,14 @@ test validate {
|
|
|
76
76
|
try validate("a-b.com");
|
|
77
77
|
try validate("a.b.c.d.e.f.g");
|
|
78
78
|
try validate("127.0.0.1"); // Also a valid hostname
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
try validate(
|
|
79
|
+
|
|
80
|
+
const many_a: [63]u8 = @splat('a');
|
|
81
|
+
try validate(&many_a ++ ".com"); // Label exactly 63 chars (valid)
|
|
82
|
+
|
|
83
|
+
const many_a_dot_buf: [127][2]u8 = @splat(.{ 'a', '.' });
|
|
84
|
+
const many_a_dot: []const u8 = @ptrCast(&many_a_dot_buf);
|
|
85
|
+
try validate(many_a_dot ++ "a"); // Total length 255 (valid)
|
|
86
|
+
try validate(many_a_dot ++ "a."); // Total length 255 + trailing dot (valid)
|
|
82
87
|
|
|
83
88
|
// Invalid hostnames
|
|
84
89
|
try std.testing.expectError(error.InvalidHostName, validate(""));
|
|
@@ -92,9 +97,9 @@ test validate {
|
|
|
92
97
|
try std.testing.expectError(error.InvalidHostName, validate("host_name.com"));
|
|
93
98
|
try std.testing.expectError(error.InvalidHostName, validate("."));
|
|
94
99
|
try std.testing.expectError(error.InvalidHostName, validate(".."));
|
|
95
|
-
try std.testing.expectError(error.InvalidHostName, validate(
|
|
96
|
-
try std.testing.expectError(error.NameTooLong, validate(
|
|
97
|
-
try std.testing.expectError(error.NameTooLong, validate(
|
|
100
|
+
try std.testing.expectError(error.InvalidHostName, validate(&many_a ++ "a.com")); // Label length 64 (too long)
|
|
101
|
+
try std.testing.expectError(error.NameTooLong, validate(many_a_dot ++ "ab")); // Total length 256 (too long)
|
|
102
|
+
try std.testing.expectError(error.NameTooLong, validate(many_a_dot ++ "ab.")); // Total length 256 + trailing dot (too long)
|
|
98
103
|
}
|
|
99
104
|
|
|
100
105
|
pub fn init(bytes: []const u8) ValidateError!HostName {
|
package/std/Io.zig
CHANGED
|
@@ -54,9 +54,6 @@ pub const VTable = struct {
|
|
|
54
54
|
/// If it returns `null` it means `result` has been already populated and
|
|
55
55
|
/// `await` will be a no-op.
|
|
56
56
|
///
|
|
57
|
-
/// When this function returns non-null, the implementation guarantees that
|
|
58
|
-
/// a unit of concurrency has been assigned to the returned task.
|
|
59
|
-
///
|
|
60
57
|
/// Thread-safe.
|
|
61
58
|
async: *const fn (
|
|
62
59
|
/// Corresponds to `Io.userdata`.
|
|
@@ -111,10 +108,6 @@ pub const VTable = struct {
|
|
|
111
108
|
result_alignment: std.mem.Alignment,
|
|
112
109
|
) void,
|
|
113
110
|
|
|
114
|
-
/// When this function returns, implementation guarantees that `start` has
|
|
115
|
-
/// either already been called, or a unit of concurrency has been assigned
|
|
116
|
-
/// to the task of calling the function.
|
|
117
|
-
///
|
|
118
111
|
/// Thread-safe.
|
|
119
112
|
groupAsync: *const fn (
|
|
120
113
|
/// Corresponds to `Io.userdata`.
|
|
@@ -696,6 +689,13 @@ pub const Limit = enum(usize) {
|
|
|
696
689
|
};
|
|
697
690
|
}
|
|
698
691
|
|
|
692
|
+
pub fn toInt64(l: Limit) ?u64 {
|
|
693
|
+
return switch (l) {
|
|
694
|
+
else => @intFromEnum(l),
|
|
695
|
+
.unlimited => null,
|
|
696
|
+
};
|
|
697
|
+
}
|
|
698
|
+
|
|
699
699
|
/// Reduces a slice to account for the limit, leaving room for one extra
|
|
700
700
|
/// byte above the limit, allowing for the use case of differentiating
|
|
701
701
|
/// between end-of-stream and reaching the limit.
|
|
@@ -890,7 +890,7 @@ pub const Clock = enum {
|
|
|
890
890
|
if (t.clock == clock) return t;
|
|
891
891
|
const now_old = t.clock.now(io);
|
|
892
892
|
const now_new = clock.now(io);
|
|
893
|
-
const duration = now_old.durationTo(t);
|
|
893
|
+
const duration = now_old.durationTo(t.raw);
|
|
894
894
|
return .{
|
|
895
895
|
.clock = clock,
|
|
896
896
|
.raw = now_new.addDuration(duration),
|
|
@@ -1251,8 +1251,11 @@ pub const Group = struct {
|
|
|
1251
1251
|
/// cancelation propagation boundary.
|
|
1252
1252
|
///
|
|
1253
1253
|
/// Once this function is called, there are resources associated with the
|
|
1254
|
-
/// group. To release those resources, `
|
|
1255
|
-
///
|
|
1254
|
+
/// group. To release those resources, `await` or `cancel` must eventually
|
|
1255
|
+
/// be called.
|
|
1256
|
+
///
|
|
1257
|
+
/// `function` is not guaranteed to have been called until `await` or
|
|
1258
|
+
/// `cancel` is called.
|
|
1256
1259
|
pub fn async(g: *Group, io: Io, function: anytype, args: std.meta.ArgsTuple(@TypeOf(function))) void {
|
|
1257
1260
|
const Args = @TypeOf(args);
|
|
1258
1261
|
const TypeErased = struct {
|
|
@@ -1290,6 +1293,9 @@ pub const Group = struct {
|
|
|
1290
1293
|
/// will also cause `error.Canceled` to be returned when the group
|
|
1291
1294
|
/// does ultimately finish.
|
|
1292
1295
|
///
|
|
1296
|
+
/// After this function returns, all tasks of the `Group` created with
|
|
1297
|
+
/// `async` or `concurrent` are guaranteed to have run.
|
|
1298
|
+
///
|
|
1293
1299
|
/// Idempotent. Not threadsafe.
|
|
1294
1300
|
///
|
|
1295
1301
|
/// It is safe to call this function concurrently with `Group.async` or
|
|
@@ -1304,6 +1310,9 @@ pub const Group = struct {
|
|
|
1304
1310
|
/// Equivalent to `await` but immediately requests cancelation on all
|
|
1305
1311
|
/// members of the group.
|
|
1306
1312
|
///
|
|
1313
|
+
/// After this function returns, all tasks of the `Group` created with
|
|
1314
|
+
/// `async` or `concurrent` are guaranteed to have run.
|
|
1315
|
+
///
|
|
1307
1316
|
/// For a description of cancelation and cancelation points, see `Future.cancel`.
|
|
1308
1317
|
///
|
|
1309
1318
|
/// Idempotent. Not threadsafe.
|
|
@@ -1681,20 +1690,29 @@ pub const Condition = struct {
|
|
|
1681
1690
|
.epoch = .init(0),
|
|
1682
1691
|
};
|
|
1683
1692
|
|
|
1693
|
+
/// Blocks until the condition is signaled or canceled.
|
|
1694
|
+
///
|
|
1695
|
+
/// See also:
|
|
1696
|
+
/// * `waitUncancelable`
|
|
1697
|
+
/// * `waitTimeout`
|
|
1684
1698
|
pub fn wait(cond: *Condition, io: Io, mutex: *Mutex) Cancelable!void {
|
|
1685
|
-
|
|
1699
|
+
waitTimeout(cond, io, mutex, .none) catch |err| switch (err) {
|
|
1700
|
+
error.Timeout => unreachable,
|
|
1701
|
+
error.Canceled => |e| return e,
|
|
1702
|
+
};
|
|
1686
1703
|
}
|
|
1687
1704
|
|
|
1688
|
-
|
|
1705
|
+
pub const WaitTimeoutError = Cancelable || Timeout.Error;
|
|
1706
|
+
|
|
1707
|
+
/// Blocks until the condition is signaled, canceled, or the provided
|
|
1708
|
+
/// timeout expires.
|
|
1689
1709
|
///
|
|
1690
|
-
///
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
}
|
|
1710
|
+
/// See also:
|
|
1711
|
+
/// * `wait`
|
|
1712
|
+
/// * `waitUncancelable`
|
|
1713
|
+
pub fn waitTimeout(cond: *Condition, io: Io, mutex: *Mutex, timeout: Timeout) WaitTimeoutError!void {
|
|
1714
|
+
const deadline = timeout.toDeadline(io);
|
|
1696
1715
|
|
|
1697
|
-
fn waitInner(cond: *Condition, io: Io, mutex: *Mutex, uncancelable: bool) Cancelable!void {
|
|
1698
1716
|
var epoch = cond.epoch.load(.acquire); // `.acquire` to ensure ordered before state load
|
|
1699
1717
|
|
|
1700
1718
|
{
|
|
@@ -1706,10 +1724,7 @@ pub const Condition = struct {
|
|
|
1706
1724
|
defer mutex.lockUncancelable(io);
|
|
1707
1725
|
|
|
1708
1726
|
while (true) {
|
|
1709
|
-
const result =
|
|
1710
|
-
io.futexWaitUncancelable(u32, &cond.epoch.raw, epoch)
|
|
1711
|
-
else
|
|
1712
|
-
io.futexWait(u32, &cond.epoch.raw, epoch);
|
|
1727
|
+
const result = io.futexWaitTimeout(u32, &cond.epoch.raw, epoch, deadline);
|
|
1713
1728
|
|
|
1714
1729
|
epoch = cond.epoch.load(.acquire); // `.acquire` to ensure ordered before `state` laod
|
|
1715
1730
|
|
|
@@ -1729,13 +1744,62 @@ pub const Condition = struct {
|
|
|
1729
1744
|
}
|
|
1730
1745
|
|
|
1731
1746
|
// There are no more signals available; this was a spurious wakeup or an error. If it
|
|
1732
|
-
// was an error, we will remove ourselves as a waiter and return that error.
|
|
1733
|
-
//
|
|
1747
|
+
// was an error, we will remove ourselves as a waiter and return that error. If a
|
|
1748
|
+
// timeout was specified and the deadline has passed, we remove ourselves as a waiter
|
|
1749
|
+
// and return `error.Timeout`. Otherwise, we'll loop back to the futex wait.
|
|
1734
1750
|
result catch |err| {
|
|
1735
1751
|
const prev_state = cond.state.fetchSub(.{ .waiters = 1, .signals = 0 }, .monotonic);
|
|
1736
1752
|
assert(prev_state.waiters > 0); // underflow caused by illegal state
|
|
1737
1753
|
return err;
|
|
1738
1754
|
};
|
|
1755
|
+
switch (deadline) {
|
|
1756
|
+
.none => {},
|
|
1757
|
+
.deadline => |d| if (d.untilNow(io).raw.nanoseconds >= 0) {
|
|
1758
|
+
const prev_state = cond.state.fetchSub(.{ .waiters = 1, .signals = 0 }, .monotonic);
|
|
1759
|
+
assert(prev_state.waiters > 0); // underflow caused by illegal state
|
|
1760
|
+
return error.Timeout;
|
|
1761
|
+
},
|
|
1762
|
+
.duration => unreachable,
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
/// Same as `wait`, except does not introduce a cancelation point.
|
|
1768
|
+
///
|
|
1769
|
+
/// See `Future.cancel` for a description of cancelation points.
|
|
1770
|
+
pub fn waitUncancelable(cond: *Condition, io: Io, mutex: *Mutex) void {
|
|
1771
|
+
var epoch = cond.epoch.load(.acquire); // `.acquire` to ensure ordered before state load
|
|
1772
|
+
|
|
1773
|
+
{
|
|
1774
|
+
const prev_state = cond.state.fetchAdd(.{ .waiters = 1, .signals = 0 }, .monotonic);
|
|
1775
|
+
assert(prev_state.waiters < math.maxInt(u16)); // overflow caused by too many waiters
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
mutex.unlock(io);
|
|
1779
|
+
defer mutex.lockUncancelable(io);
|
|
1780
|
+
|
|
1781
|
+
while (true) {
|
|
1782
|
+
io.futexWaitUncancelable(u32, &cond.epoch.raw, epoch);
|
|
1783
|
+
|
|
1784
|
+
epoch = cond.epoch.load(.acquire); // `.acquire` to ensure ordered before `state` laod
|
|
1785
|
+
|
|
1786
|
+
// Even on error, try to consume a pending signal first. Otherwise a race might
|
|
1787
|
+
// cause a signal to get stuck in the state with no corresponding waiter.
|
|
1788
|
+
{
|
|
1789
|
+
var prev_state = cond.state.load(.monotonic);
|
|
1790
|
+
while (prev_state.signals > 0) {
|
|
1791
|
+
prev_state = cond.state.cmpxchgWeak(prev_state, .{
|
|
1792
|
+
.waiters = prev_state.waiters - 1,
|
|
1793
|
+
.signals = prev_state.signals - 1,
|
|
1794
|
+
}, .acquire, .monotonic) orelse {
|
|
1795
|
+
// We successfully consumed a signal.
|
|
1796
|
+
return;
|
|
1797
|
+
};
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
// There are no more signals available; this was a spurious wakeup,
|
|
1802
|
+
// so we'll loop back to the futex wait.
|
|
1739
1803
|
}
|
|
1740
1804
|
}
|
|
1741
1805
|
|
|
@@ -2867,7 +2931,7 @@ pub fn failingDirAccess(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, o
|
|
|
2867
2931
|
return error.FileNotFound;
|
|
2868
2932
|
}
|
|
2869
2933
|
|
|
2870
|
-
pub fn failingDirCreateFile(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, options:
|
|
2934
|
+
pub fn failingDirCreateFile(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, options: Dir.CreateFileOptions) File.OpenError!File {
|
|
2871
2935
|
_ = userdata;
|
|
2872
2936
|
_ = dir;
|
|
2873
2937
|
_ = sub_path;
|
|
@@ -2883,7 +2947,7 @@ pub fn failingDirCreateFileAtomic(userdata: ?*anyopaque, dir: Dir, sub_path: []c
|
|
|
2883
2947
|
return error.NoSpaceLeft;
|
|
2884
2948
|
}
|
|
2885
2949
|
|
|
2886
|
-
pub fn failingDirOpenFile(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, flags:
|
|
2950
|
+
pub fn failingDirOpenFile(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, flags: Dir.OpenFileOptions) File.OpenError!File {
|
|
2887
2951
|
_ = userdata;
|
|
2888
2952
|
_ = dir;
|
|
2889
2953
|
_ = sub_path;
|
|
@@ -3220,7 +3284,7 @@ pub fn unreachableFileMemoryMapWrite(userdata: ?*anyopaque, mm: *File.MemoryMap)
|
|
|
3220
3284
|
unreachable;
|
|
3221
3285
|
}
|
|
3222
3286
|
|
|
3223
|
-
pub fn failingProcessExecutableOpen(userdata: ?*anyopaque, flags:
|
|
3287
|
+
pub fn failingProcessExecutableOpen(userdata: ?*anyopaque, flags: Dir.OpenFileOptions) std.process.OpenExecutableError!File {
|
|
3224
3288
|
_ = userdata;
|
|
3225
3289
|
_ = flags;
|
|
3226
3290
|
return error.FileNotFound;
|
package/std/Random/ChaCha.zig
CHANGED
|
@@ -14,7 +14,7 @@ const State = [8 * Cipher.block_length]u8;
|
|
|
14
14
|
state: State,
|
|
15
15
|
offset: usize,
|
|
16
16
|
|
|
17
|
-
const nonce
|
|
17
|
+
const nonce: [Cipher.nonce_length]u8 = @splat(0);
|
|
18
18
|
|
|
19
19
|
pub const secret_seed_length = Cipher.key_length;
|
|
20
20
|
|
|
@@ -38,7 +38,7 @@ pub fn addEntropy(self: *Self, bytes: []const u8) void {
|
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
if (i < bytes.len) {
|
|
41
|
-
var k
|
|
41
|
+
var k: [Cipher.key_length]u8 = @splat(0);
|
|
42
42
|
const src = bytes[i..];
|
|
43
43
|
@memcpy(k[0..src.len], src);
|
|
44
44
|
Cipher.xor(
|
package/std/Random/benchmark.zig
CHANGED
|
@@ -55,12 +55,12 @@ const csprngs = [_]Rng{
|
|
|
55
55
|
Rng{
|
|
56
56
|
.ty = Random.Ascon,
|
|
57
57
|
.name = "ascon",
|
|
58
|
-
.init_u8s =
|
|
58
|
+
.init_u8s = &@as([32]u8, @splat(0)),
|
|
59
59
|
},
|
|
60
60
|
Rng{
|
|
61
61
|
.ty = Random.ChaCha,
|
|
62
62
|
.name = "chacha",
|
|
63
|
-
.init_u8s =
|
|
63
|
+
.init_u8s = &@as([32]u8, @splat(0)),
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
66
|
|
package/std/Random.zig
CHANGED
|
@@ -125,9 +125,9 @@ pub fn enumValueWithIndex(r: Random, comptime EnumType: type, comptime Index: ty
|
|
|
125
125
|
/// `i` is evenly distributed.
|
|
126
126
|
pub fn int(r: Random, comptime T: type) T {
|
|
127
127
|
const bits = @typeInfo(T).int.bits;
|
|
128
|
-
const UnsignedT =
|
|
128
|
+
const UnsignedT = @Int(.unsigned, bits);
|
|
129
129
|
const ceil_bytes = comptime std.math.divCeil(u16, bits, 8) catch unreachable;
|
|
130
|
-
const ByteAlignedT =
|
|
130
|
+
const ByteAlignedT = @Int(.unsigned, ceil_bytes * 8);
|
|
131
131
|
|
|
132
132
|
var rand_bytes: [ceil_bytes]u8 = undefined;
|
|
133
133
|
r.bytes(&rand_bytes);
|
|
@@ -215,7 +215,7 @@ pub fn intRangeLessThanBiased(r: Random, comptime T: type, at_least: T, less_tha
|
|
|
215
215
|
const info = @typeInfo(T).int;
|
|
216
216
|
if (info.signedness == .signed) {
|
|
217
217
|
// Two's complement makes this math pretty easy.
|
|
218
|
-
const UnsignedT =
|
|
218
|
+
const UnsignedT = @Int(.unsigned, info.bits);
|
|
219
219
|
const lo: UnsignedT = @bitCast(at_least);
|
|
220
220
|
const hi: UnsignedT = @bitCast(less_than);
|
|
221
221
|
const result = lo +% r.uintLessThanBiased(UnsignedT, hi -% lo);
|
|
@@ -234,7 +234,7 @@ pub fn intRangeLessThan(r: Random, comptime T: type, at_least: T, less_than: T)
|
|
|
234
234
|
const info = @typeInfo(T).int;
|
|
235
235
|
if (info.signedness == .signed) {
|
|
236
236
|
// Two's complement makes this math pretty easy.
|
|
237
|
-
const UnsignedT =
|
|
237
|
+
const UnsignedT = @Int(.unsigned, info.bits);
|
|
238
238
|
const lo: UnsignedT = @bitCast(at_least);
|
|
239
239
|
const hi: UnsignedT = @bitCast(less_than);
|
|
240
240
|
const result = lo +% r.uintLessThan(UnsignedT, hi -% lo);
|
|
@@ -252,7 +252,7 @@ pub fn intRangeAtMostBiased(r: Random, comptime T: type, at_least: T, at_most: T
|
|
|
252
252
|
const info = @typeInfo(T).int;
|
|
253
253
|
if (info.signedness == .signed) {
|
|
254
254
|
// Two's complement makes this math pretty easy.
|
|
255
|
-
const UnsignedT =
|
|
255
|
+
const UnsignedT = @Int(.unsigned, info.bits);
|
|
256
256
|
const lo: UnsignedT = @bitCast(at_least);
|
|
257
257
|
const hi: UnsignedT = @bitCast(at_most);
|
|
258
258
|
const result = lo +% r.uintAtMostBiased(UnsignedT, hi -% lo);
|
|
@@ -271,7 +271,7 @@ pub fn intRangeAtMost(r: Random, comptime T: type, at_least: T, at_most: T) T {
|
|
|
271
271
|
const info = @typeInfo(T).int;
|
|
272
272
|
if (info.signedness == .signed) {
|
|
273
273
|
// Two's complement makes this math pretty easy.
|
|
274
|
-
const UnsignedT =
|
|
274
|
+
const UnsignedT = @Int(.unsigned, info.bits);
|
|
275
275
|
const lo: UnsignedT = @bitCast(at_least);
|
|
276
276
|
const hi: UnsignedT = @bitCast(at_most);
|
|
277
277
|
const result = lo +% r.uintAtMost(UnsignedT, hi -% lo);
|
package/std/SemanticVersion.zig
CHANGED
|
@@ -146,7 +146,7 @@ fn parseNum(text: []const u8) error{ InvalidVersion, Overflow }!usize {
|
|
|
146
146
|
|
|
147
147
|
return std.fmt.parseUnsigned(usize, text, 10) catch |err| switch (err) {
|
|
148
148
|
error.InvalidCharacter => return error.InvalidVersion,
|
|
149
|
-
error.Overflow => return
|
|
149
|
+
error.Overflow => |e| return e,
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
|
package/std/Target/Query.zig
CHANGED
|
@@ -253,7 +253,7 @@ pub fn parse(args: ParseOptions) !Query {
|
|
|
253
253
|
} else if (abi.isAndroid()) {
|
|
254
254
|
result.android_api_level = std.fmt.parseUnsigned(u32, abi_ver_text, 10) catch |err| switch (err) {
|
|
255
255
|
error.InvalidCharacter => return error.InvalidVersion,
|
|
256
|
-
error.Overflow => return
|
|
256
|
+
error.Overflow => |e| return e,
|
|
257
257
|
};
|
|
258
258
|
} else {
|
|
259
259
|
return error.InvalidAbiVersion;
|
|
@@ -282,7 +282,7 @@ pub fn parse(args: ParseOptions) !Query {
|
|
|
282
282
|
} else if (mem.eql(u8, cpu_name, "baseline")) {
|
|
283
283
|
result.cpu_model = .baseline;
|
|
284
284
|
} else {
|
|
285
|
-
result.cpu_model = .{ .explicit =
|
|
285
|
+
result.cpu_model = .{ .explicit = arch.parseCpuModel(cpu_name) orelse return error.UnknownCpuModel };
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
while (index < cpu_features.len) {
|
|
@@ -346,7 +346,7 @@ pub fn parseVersion(ver: []const u8) error{ InvalidVersion, Overflow }!SemanticV
|
|
|
346
346
|
fn parseVersionComponentInner(component: []const u8) error{ InvalidVersion, Overflow }!usize {
|
|
347
347
|
return std.fmt.parseUnsigned(usize, component, 10) catch |err| switch (err) {
|
|
348
348
|
error.InvalidCharacter => return error.InvalidVersion,
|
|
349
|
-
error.Overflow => return
|
|
349
|
+
error.Overflow => |e| return e,
|
|
350
350
|
};
|
|
351
351
|
}
|
|
352
352
|
}).parseVersionComponentInner;
|
|
@@ -533,9 +533,8 @@ pub fn serializeCpuAlloc(q: Query, ally: Allocator) Allocator.Error![]u8 {
|
|
|
533
533
|
return buffer.toOwnedSlice();
|
|
534
534
|
}
|
|
535
535
|
|
|
536
|
+
/// Deprecated; use `zigTriple` instead. Will be removed in 0.18.0.
|
|
536
537
|
pub fn allocDescription(self: Query, allocator: Allocator) ![]u8 {
|
|
537
|
-
// TODO is there anything else worthy of the description that is not
|
|
538
|
-
// already captured in the triple?
|
|
539
538
|
return self.zigTriple(allocator);
|
|
540
539
|
}
|
|
541
540
|
|