@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.292
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 +6 -1
- package/c/inttypes.zig +0 -10
- package/c/math.zig +52 -112
- package/c/pthread.zig +57 -0
- package/c/search.zig +1 -27
- package/c/stdlib/drand48.zig +0 -57
- package/c/stdlib.zig +31 -121
- package/c/string.zig +20 -7
- package/c/strings.zig +0 -38
- package/c/unistd.zig +27 -26
- package/c/wchar.zig +10 -0
- package/c.zig +2 -2
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +17 -17
- package/compiler/aro/aro/Driver.zig +14 -13
- package/compiler/aro/aro/Parser.zig +20 -15
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +9 -6
- 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/build_runner.zig +2 -4
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +4 -4
- package/compiler/resinator/errors.zig +7 -7
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/parse.zig +2 -2
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +1 -1
- package/compiler/test_runner.zig +1 -1
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +6 -2
- package/compiler/translate-c/ast.zig +16 -23
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -3
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +2 -2
- package/compiler_rt/divsf3.zig +1 -1
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/exp.zig +0 -2
- package/compiler_rt/exp2.zig +0 -2
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -3
- package/compiler_rt/float_from_int.zig +3 -4
- package/compiler_rt/fma.zig +0 -2
- package/compiler_rt/fmax.zig +1 -3
- package/compiler_rt/fmin.zig +1 -3
- package/compiler_rt/fmod.zig +2 -4
- package/compiler_rt/limb64.zig +3 -2
- package/compiler_rt/log.zig +0 -2
- package/compiler_rt/log10.zig +0 -2
- package/compiler_rt/log2.zig +0 -2
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/round.zig +0 -2
- package/compiler_rt/sin.zig +1 -3
- package/compiler_rt/sincos.zig +1 -3
- package/compiler_rt/sqrt.zig +0 -2
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -3
- package/compiler_rt/trunc.zig +0 -2
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Parser.zig +16 -20
- package/fuzzer.zig +2 -0
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -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/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/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- 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/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/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +948 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +1 -1
- package/std/Build/Cache.zig +6 -6
- package/std/Build/Step/Compile.zig +18 -20
- package/std/Build/Step/ConfigHeader.zig +1 -1
- package/std/Build/Step/Run.zig +15 -8
- package/std/Build/Step.zig +2 -7
- package/std/Build/Watch/FsEvents.zig +1 -1
- package/std/Build/WebServer.zig +2 -2
- package/std/Build/abi.zig +1 -1
- package/std/Build.zig +0 -3
- package/std/Io/Dir.zig +9 -4
- package/std/Io/Dispatch.zig +8 -18
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +0 -9
- package/std/Io/Kqueue.zig +3 -3
- package/std/Io/Reader.zig +8 -14
- package/std/Io/Semaphore.zig +112 -17
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +183 -46
- package/std/Io/Uring.zig +18 -20
- package/std/Io/Writer.zig +10 -7
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +11 -11
- package/std/Io.zig +104 -38
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +2 -2
- 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 +415 -177
- package/std/Target/sparc.zig +17 -0
- 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 +67 -14
- package/std/Thread.zig +5 -2
- package/std/array_hash_map.zig +103 -57
- package/std/array_list.zig +10 -31
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +86 -69
- package/std/c/haiku.zig +3 -0
- package/std/c/serenity.zig +1 -6
- package/std/c.zig +123 -32
- package/std/compress/flate/Decompress.zig +3 -4
- package/std/compress/zstd/Decompress.zig +7 -9
- package/std/crypto/25519/curve25519.zig +2 -2
- package/std/crypto/25519/edwards25519.zig +3 -3
- package/std/crypto/25519/ristretto255.zig +2 -2
- package/std/crypto/25519/scalar.zig +6 -6
- package/std/crypto/25519/x25519.zig +1 -1
- package/std/crypto/Certificate.zig +14 -2
- package/std/crypto/Sha1.zig +1 -1
- package/std/crypto/aegis.zig +45 -39
- package/std/crypto/aes_ccm.zig +22 -22
- package/std/crypto/aes_gcm.zig +10 -12
- package/std/crypto/aes_ocb.zig +9 -9
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -33
- 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 -8
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -2
- 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 +15 -12
- package/std/debug/Pdb.zig +25 -17
- package/std/debug.zig +14 -8
- package/std/deque.zig +1 -1
- package/std/elf.zig +1 -1
- package/std/enums.zig +8 -8
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +14 -10
- package/std/fs/path.zig +7 -5
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +20 -1
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +2 -133
- package/std/http/Client.zig +21 -24
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/static.zig +2 -2
- package/std/{builtin.zig → lang.zig} +5 -1
- package/std/leb128.zig +2 -2
- 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/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 +0 -6
- package/std/mem.zig +31 -31
- 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/aarch64.zig +41 -12
- package/std/os/linux/arc.zig +41 -12
- package/std/os/linux/arm.zig +41 -12
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/hexagon.zig +33 -11
- package/std/os/linux/ioctl.zig +2 -2
- package/std/os/linux/loongarch32.zig +41 -13
- package/std/os/linux/loongarch64.zig +41 -12
- package/std/os/linux/m68k.zig +41 -13
- package/std/os/linux/mips.zig +67 -36
- package/std/os/linux/mips64.zig +60 -29
- package/std/os/linux/mipsn32.zig +60 -29
- package/std/os/linux/or1k.zig +41 -12
- package/std/os/linux/powerpc.zig +41 -12
- package/std/os/linux/powerpc64.zig +41 -12
- package/std/os/linux/riscv32.zig +41 -12
- package/std/os/linux/riscv64.zig +41 -12
- package/std/os/linux/s390x.zig +44 -7
- package/std/os/linux/sparc64.zig +83 -52
- package/std/os/linux/syscalls.zig +26 -1
- package/std/os/linux/thumb.zig +52 -36
- package/std/os/linux/x32.zig +41 -12
- package/std/os/linux/x86.zig +44 -15
- package/std/os/linux/x86_64.zig +41 -12
- package/std/os/linux.zig +416 -450
- 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 +41 -0
- package/std/posix.zig +1 -1
- package/std/process/Environ.zig +1 -1
- package/std/process.zig +5 -4
- package/std/simd.zig +4 -21
- package/std/sort.zig +3 -3
- package/std/start.zig +17 -4
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing.zig +2 -2
- 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 +175 -332
- package/std/zig/AstRlAnnotate.zig +1 -22
- package/std/zig/AstSmith.zig +5 -11
- package/std/zig/BuiltinFn.zig +0 -32
- package/std/zig/ErrorBundle.zig +6 -2
- package/std/zig/LibCInstallation.zig +34 -12
- package/std/zig/Parse.zig +11 -76
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +65 -132
- 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/windows.zig +34 -1
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +0 -10
- package/std/zig/target.zig +1 -4
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +3 -14
- package/std/zip.zig +5 -5
- package/std/zon/parse.zig +1 -1
- package/zig.h +340 -1
- 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/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/{builtin → lang}/assembly.zig +0 -0
package/std/os/plan9.zig
CHANGED
|
@@ -299,7 +299,7 @@ pub fn openat(dirfd: i32, path: [*:0]const u8, flags: u32, _: mode_t) usize {
|
|
|
299
299
|
const dir_path = std.mem.span(@as([*:0]u8, @ptrCast(&dir_path_buf)));
|
|
300
300
|
const total_path = std.fs.path.join(alloc, &.{ dir_path, std.mem.span(path) }) catch unreachable; // the allocation shouldn't fail because it should not exceed max_path_bytes
|
|
301
301
|
fba.reset();
|
|
302
|
-
const total_path_z = alloc.
|
|
302
|
+
const total_path_z = alloc.dupeSentinel(u8, total_path, 0) catch unreachable; // should not exceed max_path_bytes + 1
|
|
303
303
|
return open(total_path_z.ptr, flags);
|
|
304
304
|
}
|
|
305
305
|
|
package/std/os/uefi/hii.zig
CHANGED
|
@@ -158,12 +158,10 @@ pub const BootServices = extern struct {
|
|
|
158
158
|
_locateProtocol: *const fn (protocol: *const Guid, registration: ?EventRegistration, interface: *?*const anyopaque) callconv(cc) Status,
|
|
159
159
|
|
|
160
160
|
/// Installs one or more protocol interfaces into the boot services environment
|
|
161
|
-
|
|
162
|
-
_installMultipleProtocolInterfaces: *const fn (handle: *Handle, ...) callconv(.c) Status,
|
|
161
|
+
_installMultipleProtocolInterfaces: *const fn (handle: *?Handle, ...) callconv(cc) Status,
|
|
163
162
|
|
|
164
163
|
/// Removes one or more protocol interfaces into the boot services environment
|
|
165
|
-
|
|
166
|
-
_uninstallMultipleProtocolInterfaces: *const fn (handle: *Handle, ...) callconv(.c) Status,
|
|
164
|
+
_uninstallMultipleProtocolInterfaces: *const fn (handle: Handle, ...) callconv(cc) Status,
|
|
167
165
|
|
|
168
166
|
/// Computes and returns a 32-bit CRC for a data buffer.
|
|
169
167
|
_calculateCrc32: *const fn (data: [*]const u8, data_size: usize, *u32) callconv(cc) Status,
|
|
@@ -1238,8 +1236,9 @@ fn protocolInterfaces(
|
|
|
1238
1236
|
@TypeOf(interfaces),
|
|
1239
1237
|
) = undefined;
|
|
1240
1238
|
result[0] = handle_arg;
|
|
1239
|
+
result[result.len - 1] = null;
|
|
1241
1240
|
|
|
1242
|
-
var idx: usize = 1;
|
|
1241
|
+
comptime var idx: usize = 1;
|
|
1243
1242
|
inline for (interfaces) |interface| {
|
|
1244
1243
|
const InterfacePtr = @TypeOf(interface);
|
|
1245
1244
|
const Interface = switch (@typeInfo(InterfacePtr)) {
|
|
@@ -1272,13 +1271,15 @@ fn ProtocolInterfaces(HandleType: type, Interfaces: type) type {
|
|
|
1272
1271
|
@compileError("expected tuple of protocol interfaces, got " ++ @typeName(Interfaces));
|
|
1273
1272
|
const interfaces_info = interfaces_type_info.@"struct";
|
|
1274
1273
|
|
|
1275
|
-
var tuple_types: [interfaces_info.fields.len * 2 +
|
|
1274
|
+
var tuple_types: [interfaces_info.fields.len * 2 + 2]type = undefined;
|
|
1276
1275
|
tuple_types[0] = HandleType;
|
|
1276
|
+
tuple_types[tuple_types.len - 1] = ?*const Guid;
|
|
1277
|
+
|
|
1277
1278
|
var idx = 1;
|
|
1278
|
-
while (idx < tuple_types.len) : (idx += 2) {
|
|
1279
|
+
while (idx < tuple_types.len - 1) : (idx += 2) {
|
|
1279
1280
|
tuple_types[idx] = *const Guid;
|
|
1280
1281
|
tuple_types[idx + 1] = *const anyopaque;
|
|
1281
1282
|
}
|
|
1282
1283
|
|
|
1283
|
-
return
|
|
1284
|
+
return @Tuple(tuple_types[0..]);
|
|
1284
1285
|
}
|
|
@@ -419,7 +419,7 @@ pub const RuntimeServices = extern struct {
|
|
|
419
419
|
pub const DebugDisposition = enum(usize) {
|
|
420
420
|
const Bits = packed struct(usize) {
|
|
421
421
|
optional_ptr: bool = false,
|
|
422
|
-
_pad:
|
|
422
|
+
_pad: @Int(.unsigned, @bitSizeOf(usize) - 1) = 0,
|
|
423
423
|
};
|
|
424
424
|
|
|
425
425
|
pointer = @bitCast(Bits{}),
|
package/std/os/windows.zig
CHANGED
|
@@ -5665,7 +5665,136 @@ pub const PF = enum(DWORD) {
|
|
|
5665
5665
|
ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44,
|
|
5666
5666
|
|
|
5667
5667
|
/// This Arm processor implements the Arm v8.3 LRCPC instructions (for example, LDAPR). Note that certain Arm v8.2 CPUs may optionally support the LRCPC instructions.
|
|
5668
|
-
ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE,
|
|
5668
|
+
ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45,
|
|
5669
|
+
|
|
5670
|
+
/// This Arm processor implements the SVE (Scalable Vector Extension) instructions (FEAT_SVE).
|
|
5671
|
+
ARM_SVE_INSTRUCTIONS_AVAILABLE = 46,
|
|
5672
|
+
|
|
5673
|
+
/// This Arm processor implements the SVE2 instructions (FEAT_SVE2).
|
|
5674
|
+
ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47,
|
|
5675
|
+
|
|
5676
|
+
/// This Arm processor implements the SVE2.1 instructions (FEAT_SVE2p1).
|
|
5677
|
+
ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48,
|
|
5678
|
+
|
|
5679
|
+
/// This Arm processor implements the SVE AES instructions (FEAT_SVE_AES).
|
|
5680
|
+
ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49,
|
|
5681
|
+
|
|
5682
|
+
/// This Arm processor implements the SVE 128-bit polynomial multiply long instructions (FEAT_SVE_PMULL128).
|
|
5683
|
+
ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50,
|
|
5684
|
+
|
|
5685
|
+
/// This Arm processor implements the SVE bit permute instructions (FEAT_SVE_BitPerm).
|
|
5686
|
+
ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51,
|
|
5687
|
+
|
|
5688
|
+
/// This Arm processor implements the SVE BF16 (BFloat16) instructions (FEAT_BF16).
|
|
5689
|
+
ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52,
|
|
5690
|
+
|
|
5691
|
+
/// This Arm processor implements the SVE EBF16 (Extended BFloat16) instructions (FEAT_EBF16).
|
|
5692
|
+
ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53,
|
|
5693
|
+
|
|
5694
|
+
/// This Arm processor implements the SVE B16B16 instructions (FEAT_SVE_B16B16).
|
|
5695
|
+
ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54,
|
|
5696
|
+
|
|
5697
|
+
/// This Arm processor implements the SVE SHA-3 cryptographic instructions (FEAT_SVE_SHA3).
|
|
5698
|
+
ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55,
|
|
5699
|
+
|
|
5700
|
+
/// This Arm processor implements the SVE SM4 cryptographic instructions (FEAT_SVE_SM4).
|
|
5701
|
+
ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56,
|
|
5702
|
+
|
|
5703
|
+
/// This Arm processor implements the SVE I8MM (Int8 matrix multiply) instructions (FEAT_I8MM).
|
|
5704
|
+
ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57,
|
|
5705
|
+
|
|
5706
|
+
/// This Arm processor implements the SVE F32MM (FP32 matrix multiply) instructions (FEAT_F32MM).
|
|
5707
|
+
ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58,
|
|
5708
|
+
|
|
5709
|
+
/// This Arm processor implements the SVE F64MM (FP64 matrix multiply) instructions (FEAT_F64MM).
|
|
5710
|
+
ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59,
|
|
5711
|
+
|
|
5712
|
+
/// This x64 processor implements the BMI2 instruction set.
|
|
5713
|
+
BMI2_INSTRUCTIONS_AVAILABLE = 60,
|
|
5714
|
+
|
|
5715
|
+
/// This x64 processor implements the MOVDIR64B instruction.
|
|
5716
|
+
MOVDIR64B_INSTRUCTION_AVAILABLE = 61,
|
|
5717
|
+
|
|
5718
|
+
/// This Arm processor implements the LSE2 atomic instructions (FEAT_LSE2).
|
|
5719
|
+
ARM_LSE2_AVAILABLE = 62,
|
|
5720
|
+
|
|
5721
|
+
/// This Arm processor implements the SHA-3 cryptographic instructions (FEAT_SHA3).
|
|
5722
|
+
ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64,
|
|
5723
|
+
|
|
5724
|
+
/// This Arm processor implements the SHA-512 cryptographic instructions (FEAT_SHA512).
|
|
5725
|
+
ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65,
|
|
5726
|
+
|
|
5727
|
+
/// This Arm processor implements the I8MM (Int8 matrix multiply) NEON instructions (FEAT_I8MM).
|
|
5728
|
+
ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66,
|
|
5729
|
+
|
|
5730
|
+
/// This Arm processor implements the FP16 (half-precision floating point) NEON instructions (FEAT_FP16).
|
|
5731
|
+
ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67,
|
|
5732
|
+
|
|
5733
|
+
/// This Arm processor implements the BF16 (BFloat16) NEON instructions (FEAT_BF16).
|
|
5734
|
+
ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68,
|
|
5735
|
+
|
|
5736
|
+
/// This Arm processor implements the EBF16 (Extended BFloat16) NEON instructions (FEAT_EBF16).
|
|
5737
|
+
ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69,
|
|
5738
|
+
|
|
5739
|
+
/// This Arm processor implements the SME (Scalable Matrix Extension) instructions (FEAT_SME).
|
|
5740
|
+
ARM_SME_INSTRUCTIONS_AVAILABLE = 70,
|
|
5741
|
+
|
|
5742
|
+
/// This Arm processor implements the SME2 instructions (FEAT_SME2).
|
|
5743
|
+
ARM_SME2_INSTRUCTIONS_AVAILABLE = 71,
|
|
5744
|
+
|
|
5745
|
+
/// This Arm processor implements the SME2.1 instructions (FEAT_SME2p1).
|
|
5746
|
+
ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72,
|
|
5747
|
+
|
|
5748
|
+
/// This Arm processor implements the SME2.2 instructions (FEAT_SME2p2).
|
|
5749
|
+
ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73,
|
|
5750
|
+
|
|
5751
|
+
/// This Arm processor implements the SVE AES instructions when in Streaming SVE mode (FEAT_SSVE_AES).
|
|
5752
|
+
ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74,
|
|
5753
|
+
|
|
5754
|
+
/// This Arm processor implements the SVE bit permute instructions when in Streaming SVE mode (FEAT_SSVE_BitPerm).
|
|
5755
|
+
ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75,
|
|
5756
|
+
|
|
5757
|
+
/// This Arm processor implements the SVE FMMLA (widening, 4-way, FP8 to FP16) instruction when in Streaming SVE mode (FEAT_SSVE_F8F16MM).
|
|
5758
|
+
ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76,
|
|
5759
|
+
|
|
5760
|
+
/// This Arm processor implements the SVE FMMLA (widening, 8-way, FP8 to FP32) instruction when in Streaming SVE mode (FEAT_SSVE_F8F32MM).
|
|
5761
|
+
ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77,
|
|
5762
|
+
|
|
5763
|
+
/// This Arm processor implements the SVE2 FP8DOT2 instructions when in Streaming SVE mode (FEAT_SSVE_FP8DOT2).
|
|
5764
|
+
ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78,
|
|
5765
|
+
|
|
5766
|
+
/// This Arm processor implements the SVE2 FP8DOT4 instructions when in Streaming SVE mode (FEAT_SSVE_FP8DOT4).
|
|
5767
|
+
ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79,
|
|
5768
|
+
|
|
5769
|
+
/// This Arm processor implements the SVE2 FP8FMA instructions when in Streaming SVE mode (FEAT_SSVE_FP8FMA).
|
|
5770
|
+
ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80,
|
|
5771
|
+
|
|
5772
|
+
/// This Arm processor implements the SME F8F32 instructions (FEAT_SME_F8F32).
|
|
5773
|
+
ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81,
|
|
5774
|
+
|
|
5775
|
+
/// This Arm processor implements the SME F8F16 instructions (FEAT_SME_F8F16).
|
|
5776
|
+
ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82,
|
|
5777
|
+
|
|
5778
|
+
/// This Arm processor implements the SME F16F16 instructions (FEAT_SME_F16F16).
|
|
5779
|
+
ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83,
|
|
5780
|
+
|
|
5781
|
+
/// This Arm processor implements the SME B16B16 instructions (FEAT_SME_B16B16).
|
|
5782
|
+
ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84,
|
|
5783
|
+
|
|
5784
|
+
/// This Arm processor implements the SME F64F64 instructions (FEAT_SME_F64F64).
|
|
5785
|
+
ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85,
|
|
5786
|
+
|
|
5787
|
+
/// This Arm processor implements the SME I16I64 instructions (FEAT_SME_I16I64).
|
|
5788
|
+
ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86,
|
|
5789
|
+
|
|
5790
|
+
/// This Arm processor implements the SME LUTv2 instructions (FEAT_SME_LUTv2).
|
|
5791
|
+
ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87,
|
|
5792
|
+
|
|
5793
|
+
/// This Arm processor implements SME FA64 (Full AArch64 instruction set when in Streaming SVE mode) (FEAT_SME_FA64).
|
|
5794
|
+
ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88,
|
|
5795
|
+
|
|
5796
|
+
/// This x64 processor implements the UMONITOR instruction.
|
|
5797
|
+
UMONITOR_INSTRUCTION_AVAILABLE = 89,
|
|
5669
5798
|
};
|
|
5670
5799
|
|
|
5671
5800
|
pub const MAX_WOW64_SHARED_ENTRIES = 16;
|
package/std/os.zig
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const builtin = @import("builtin");
|
|
2
|
+
const std = @import("std.zig");
|
|
2
3
|
const native_os = builtin.os.tag;
|
|
3
4
|
|
|
4
5
|
pub const linux = @import("os/linux.zig");
|
|
@@ -8,6 +9,46 @@ pub const wasi = @import("os/wasi.zig");
|
|
|
8
9
|
pub const emscripten = @import("os/emscripten.zig");
|
|
9
10
|
pub const windows = @import("os/windows.zig");
|
|
10
11
|
|
|
12
|
+
/// Returns whether the Zig standard library requires libc in order to interface
|
|
13
|
+
/// with the operating system on the given target.
|
|
14
|
+
pub fn targetRequiresLibC(target: *const std.Target) bool {
|
|
15
|
+
if (target.requiresLibC()) return true;
|
|
16
|
+
return switch (target.os.tag) {
|
|
17
|
+
.linux => switch (target.cpu.arch) {
|
|
18
|
+
// https://codeberg.org/ziglang/zig/issues/30940
|
|
19
|
+
.alpha,
|
|
20
|
+
// https://codeberg.org/ziglang/zig/issues/30942
|
|
21
|
+
.csky,
|
|
22
|
+
// https://codeberg.org/ziglang/zig/issues/30943
|
|
23
|
+
.hppa,
|
|
24
|
+
.hppa64,
|
|
25
|
+
// https://codeberg.org/ziglang/zig/issues/30944
|
|
26
|
+
.microblaze,
|
|
27
|
+
.microblazeel,
|
|
28
|
+
// https://codeberg.org/ziglang/zig/issues/30946
|
|
29
|
+
.sh,
|
|
30
|
+
.sheb,
|
|
31
|
+
// https://codeberg.org/ziglang/zig/issues/30945
|
|
32
|
+
.sparc,
|
|
33
|
+
// https://codeberg.org/ziglang/zig/issues/30947
|
|
34
|
+
.xtensa,
|
|
35
|
+
.xtensaeb,
|
|
36
|
+
=> true,
|
|
37
|
+
else => false,
|
|
38
|
+
},
|
|
39
|
+
.freebsd => true, // https://codeberg.org/ziglang/zig/issues/30981
|
|
40
|
+
.netbsd => true, // https://codeberg.org/ziglang/zig/issues/30980
|
|
41
|
+
.openbsd => true, // https://codeberg.org/ziglang/zig/issues/30982
|
|
42
|
+
else => false,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/// Returns whether the Zig standard library requires libc in order to interface
|
|
47
|
+
/// with the operating system on the current target.
|
|
48
|
+
pub fn requiresLibC() bool {
|
|
49
|
+
return targetRequiresLibC(&builtin.target);
|
|
50
|
+
}
|
|
51
|
+
|
|
11
52
|
test {
|
|
12
53
|
_ = linux;
|
|
13
54
|
if (native_os == .uefi) _ = uefi;
|
package/std/posix.zig
CHANGED
|
@@ -803,7 +803,7 @@ pub fn dl_iterate_phdr(
|
|
|
803
803
|
}
|
|
804
804
|
}.callbackC, @ptrCast(@constCast(&context)))) {
|
|
805
805
|
0 => return,
|
|
806
|
-
else => |err| return @as(Error, @errorCast(@errorFromInt(@as(
|
|
806
|
+
else => |err| return @as(Error, @errorCast(@errorFromInt(@as(@Int(.unsigned, @bitSizeOf(anyerror)), @intCast(err))))),
|
|
807
807
|
}
|
|
808
808
|
}
|
|
809
809
|
|
package/std/process/Environ.zig
CHANGED
package/std/process.zig
CHANGED
|
@@ -3,6 +3,7 @@ const native_os = builtin.os.tag;
|
|
|
3
3
|
|
|
4
4
|
const std = @import("std.zig");
|
|
5
5
|
const Io = std.Io;
|
|
6
|
+
const Dir = std.Io.Dir;
|
|
6
7
|
const File = std.Io.File;
|
|
7
8
|
const fs = std.fs;
|
|
8
9
|
const mem = std.mem;
|
|
@@ -85,7 +86,7 @@ pub fn currentPathAlloc(io: Io, allocator: Allocator) CurrentPathAllocError![:0]
|
|
|
85
86
|
error.NameTooLong => unreachable,
|
|
86
87
|
else => |e| return e,
|
|
87
88
|
};
|
|
88
|
-
return allocator.
|
|
89
|
+
return allocator.dupeSentinel(u8, buffer[0..n], 0);
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
test currentPathAlloc {
|
|
@@ -130,7 +131,7 @@ pub fn posixGetUserInfo(io: Io, name: []const u8) !UserInfo {
|
|
|
130
131
|
return posixGetUserInfoPasswdStream(name, &file_reader.interface) catch |err| switch (err) {
|
|
131
132
|
error.ReadFailed => return file_reader.err.?,
|
|
132
133
|
error.EndOfStream => return error.UserNotFound,
|
|
133
|
-
error.CorruptPasswordFile => return
|
|
134
|
+
error.CorruptPasswordFile => |e| return e,
|
|
134
135
|
};
|
|
135
136
|
}
|
|
136
137
|
|
|
@@ -734,7 +735,7 @@ pub fn executablePathAlloc(io: Io, allocator: Allocator) ExecutablePathAllocErro
|
|
|
734
735
|
error.NameTooLong => unreachable,
|
|
735
736
|
else => |e| return e,
|
|
736
737
|
};
|
|
737
|
-
return allocator.
|
|
738
|
+
return allocator.dupeSentinel(u8, buffer[0..n], 0);
|
|
738
739
|
}
|
|
739
740
|
|
|
740
741
|
pub const ExecutablePathError = ExecutablePathBaseError || error{NameTooLong};
|
|
@@ -784,7 +785,7 @@ pub fn executableDirPathAlloc(io: Io, allocator: Allocator) ExecutablePathAllocE
|
|
|
784
785
|
|
|
785
786
|
pub const OpenExecutableError = File.OpenError || ExecutablePathError || File.LockError;
|
|
786
787
|
|
|
787
|
-
pub fn openExecutable(io: Io, flags:
|
|
788
|
+
pub fn openExecutable(io: Io, flags: Dir.OpenFileOptions) OpenExecutableError!File {
|
|
788
789
|
return io.vtable.processExecutableOpen(io.userdata, flags);
|
|
789
790
|
}
|
|
790
791
|
|
package/std/simd.zig
CHANGED
|
@@ -157,13 +157,6 @@ pub fn join(a: anytype, b: anytype) @Vector(vectorLength(@TypeOf(a)) + vectorLen
|
|
|
157
157
|
/// Returns a vector whose elements alternates between those of each input vector.
|
|
158
158
|
/// For example, `interlace(.{[4]u32{11, 12, 13, 14}, [4]u32{21, 22, 23, 24}})` returns a vector containing `.{11, 21, 12, 22, 13, 23, 14, 24}`.
|
|
159
159
|
pub fn interlace(vecs: anytype) @Vector(vectorLength(@TypeOf(vecs[0])) * vecs.len, std.meta.Child(@TypeOf(vecs[0]))) {
|
|
160
|
-
// interlace doesn't work on MIPS, for some reason.
|
|
161
|
-
// Notes from earlier debug attempt:
|
|
162
|
-
// The indices are correct. The problem seems to be with the @shuffle builtin.
|
|
163
|
-
// On MIPS, the test that interlaces small_base gives { 0, 2, 0, 0, 64, 255, 248, 200, 0, 0 }.
|
|
164
|
-
// Calling this with two inputs seems to work fine, but I'll let the compile error trigger for all inputs, just to be safe.
|
|
165
|
-
if (builtin.cpu.arch.isMIPS()) @compileError("TODO: Find out why interlace() doesn't work on MIPS");
|
|
166
|
-
|
|
167
160
|
const VecType = @TypeOf(vecs[0]);
|
|
168
161
|
const vecs_arr = @as([vecs.len]VecType, vecs);
|
|
169
162
|
const Child = std.meta.Child(@TypeOf(vecs_arr[0]));
|
|
@@ -247,13 +240,11 @@ test "vector patterns" {
|
|
|
247
240
|
try std.testing.expectEqual([8]u32{ 10, 20, 30, 40, 55, 66, 77, 88 }, join(base, other_base));
|
|
248
241
|
try std.testing.expectEqual([2]u32{ 20, 30 }, extract(base, 1, 2));
|
|
249
242
|
|
|
250
|
-
|
|
251
|
-
try std.testing.expectEqual([8]u32{ 10, 55, 20, 66, 30, 77, 40, 88 }, interlace(.{ base, other_base }));
|
|
243
|
+
try std.testing.expectEqual([8]u32{ 10, 55, 20, 66, 30, 77, 40, 88 }, interlace(.{ base, other_base }));
|
|
252
244
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
245
|
+
const small_braid = interlace(small_bases);
|
|
246
|
+
try std.testing.expectEqual([10]u8{ 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 }, small_braid);
|
|
247
|
+
try std.testing.expectEqual(small_bases, deinterlace(small_bases.len, small_braid));
|
|
257
248
|
}
|
|
258
249
|
|
|
259
250
|
/// Joins two vectors, shifts them leftwards (towards lower indices) and extracts the leftmost elements into a vector the length of a and b.
|
|
@@ -384,9 +375,6 @@ pub fn prefixScanWithFunc(
|
|
|
384
375
|
/// For example, this should be 0 for addition or 1 for multiplication.
|
|
385
376
|
comptime identity: std.meta.Child(@TypeOf(vec)),
|
|
386
377
|
) if (ErrorType == void) @TypeOf(vec) else ErrorType!@TypeOf(vec) {
|
|
387
|
-
// I haven't debugged this, but it might be a cousin of sorts to what's going on with interlace.
|
|
388
|
-
if (builtin.cpu.arch.isMIPS()) @compileError("TODO: Find out why prefixScan doesn't work on MIPS");
|
|
389
|
-
|
|
390
378
|
const len = vectorLength(@TypeOf(vec));
|
|
391
379
|
|
|
392
380
|
if (hop == 0) @compileError("hop can not be 0; you'd be going nowhere forever!");
|
|
@@ -456,11 +444,6 @@ pub fn prefixScan(comptime op: std.builtin.ReduceOp, comptime hop: isize, vec: a
|
|
|
456
444
|
}
|
|
457
445
|
|
|
458
446
|
test "vector prefix scan" {
|
|
459
|
-
if (builtin.cpu.arch == .aarch64_be and builtin.zig_backend == .stage2_llvm) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/21893
|
|
460
|
-
if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest;
|
|
461
|
-
|
|
462
|
-
if (builtin.cpu.arch.isMIPS()) return error.SkipZigTest;
|
|
463
|
-
|
|
464
447
|
const int_base = @Vector(4, i32){ 11, 23, 9, -21 };
|
|
465
448
|
const float_base = @Vector(4, f32){ 2, 0.5, -10, 6.54321 };
|
|
466
449
|
const bool_base = @Vector(4, bool){ true, false, true, false };
|
package/std/sort.zig
CHANGED
|
@@ -749,9 +749,9 @@ test partitionPoint {
|
|
|
749
749
|
|
|
750
750
|
/// Returns a tuple of the lower and upper indices in `items` between which all
|
|
751
751
|
/// elements return `.eq` when given to `compareFn`.
|
|
752
|
-
///
|
|
753
|
-
///
|
|
754
|
-
///
|
|
752
|
+
/// If no element in `items` returns `.eq`, both indices are the index of the
|
|
753
|
+
/// first element in `items` which returns `.gt`, or if no element returns `.gt`,
|
|
754
|
+
/// both indices are `items.len`.
|
|
755
755
|
///
|
|
756
756
|
/// `items` must be sorted in ascending order with respect to `compareFn`:
|
|
757
757
|
/// ```
|
package/std/start.zig
CHANGED
|
@@ -20,8 +20,13 @@ comptime {
|
|
|
20
20
|
_ = root;
|
|
21
21
|
|
|
22
22
|
if (builtin.output_mode == .Lib and builtin.link_mode == .dynamic) {
|
|
23
|
-
if (
|
|
24
|
-
|
|
23
|
+
const dll_main_crt_startup = if (builtin.abi.isGnu()) "DllMainCRTStartup" else "_DllMainCRTStartup";
|
|
24
|
+
if (native_os == .windows and !builtin.link_libc and !@hasDecl(root, dll_main_crt_startup)) {
|
|
25
|
+
@export(&DllMainCRTStartup, .{ .name = dll_main_crt_startup });
|
|
26
|
+
} else if (native_os == .windows and builtin.link_libc and @hasDecl(root, "DllMain")) {
|
|
27
|
+
if (!@typeInfo(@TypeOf(root.DllMain)).@"fn".calling_convention.eql(.winapi)) {
|
|
28
|
+
@export(&DllMain, .{ .name = "DllMain" });
|
|
29
|
+
}
|
|
25
30
|
}
|
|
26
31
|
} else if (builtin.output_mode == .Exe or @hasDecl(root, "main")) {
|
|
27
32
|
if (builtin.link_libc and @hasDecl(root, "main")) {
|
|
@@ -71,7 +76,7 @@ comptime {
|
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
|
|
74
|
-
fn
|
|
79
|
+
fn DllMainCRTStartup(
|
|
75
80
|
hinstDLL: std.os.windows.HINSTANCE,
|
|
76
81
|
fdwReason: std.os.windows.DWORD,
|
|
77
82
|
lpReserved: std.os.windows.LPVOID,
|
|
@@ -81,12 +86,20 @@ fn _DllMainCRTStartup(
|
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
if (@hasDecl(root, "DllMain")) {
|
|
84
|
-
return root.DllMain(hinstDLL, fdwReason, lpReserved);
|
|
89
|
+
return root.DllMain(@ptrCast(hinstDLL), fdwReason, lpReserved);
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
return .TRUE;
|
|
88
93
|
}
|
|
89
94
|
|
|
95
|
+
fn DllMain(
|
|
96
|
+
hinstDLL: std.os.windows.HINSTANCE,
|
|
97
|
+
fdwReason: std.os.windows.DWORD,
|
|
98
|
+
lpReserved: std.os.windows.LPVOID,
|
|
99
|
+
) callconv(.winapi) std.os.windows.BOOL {
|
|
100
|
+
return root.DllMain(@ptrCast(hinstDLL), fdwReason, lpReserved);
|
|
101
|
+
}
|
|
102
|
+
|
|
90
103
|
fn wasm_freestanding_start() callconv(.c) void {
|
|
91
104
|
// This is marked inline because for some reason LLVM in
|
|
92
105
|
// release mode fails to inline it, and we want fewer call frames in stack traces.
|
package/std/std.zig
CHANGED
|
@@ -9,7 +9,9 @@ pub const StaticStringMapWithEql = static_string_map.StaticStringMapWithEql;
|
|
|
9
9
|
pub const Deque = @import("deque.zig").Deque;
|
|
10
10
|
pub const DoublyLinkedList = @import("DoublyLinkedList.zig");
|
|
11
11
|
pub const DynLib = @import("dynamic_library.zig").DynLib;
|
|
12
|
+
/// Deprecated: use `bit_set.DynamicManaged`.
|
|
12
13
|
pub const DynamicBitSet = bit_set.DynamicBitSet;
|
|
14
|
+
/// Deprecated: use `bit_set.Dynamic`.
|
|
13
15
|
pub const DynamicBitSetUnmanaged = bit_set.DynamicBitSetUnmanaged;
|
|
14
16
|
pub const EnumArray = enums.EnumArray;
|
|
15
17
|
pub const EnumMap = enums.EnumMap;
|
|
@@ -24,6 +26,7 @@ pub const Progress = @import("Progress.zig");
|
|
|
24
26
|
pub const Random = @import("Random.zig");
|
|
25
27
|
pub const SemanticVersion = @import("SemanticVersion.zig");
|
|
26
28
|
pub const SinglyLinkedList = @import("SinglyLinkedList.zig");
|
|
29
|
+
/// Deprecated: use `bit_set.Static`.
|
|
27
30
|
pub const StaticBitSet = bit_set.StaticBitSet;
|
|
28
31
|
pub const StringHashMap = hash_map.StringHashMap;
|
|
29
32
|
pub const StringHashMapUnmanaged = hash_map.StringHashMapUnmanaged;
|
|
@@ -62,7 +65,11 @@ pub const array_hash_map = @import("array_hash_map.zig");
|
|
|
62
65
|
pub const atomic = @import("atomic.zig");
|
|
63
66
|
pub const base64 = @import("base64.zig");
|
|
64
67
|
pub const bit_set = @import("bit_set.zig");
|
|
65
|
-
|
|
68
|
+
/// Deprecated; use `lang`.
|
|
69
|
+
///
|
|
70
|
+
/// To be removed after Zig 0.17.0.
|
|
71
|
+
pub const builtin = lang;
|
|
72
|
+
pub const lang = @import("lang.zig");
|
|
66
73
|
pub const c = @import("c.zig");
|
|
67
74
|
pub const coff = @import("coff.zig");
|
|
68
75
|
pub const compress = @import("compress.zig");
|
package/std/tar/Writer.zig
CHANGED
|
@@ -193,23 +193,23 @@ pub const Header = extern struct {
|
|
|
193
193
|
// numeric field of width w contains w minus 1 digits, and a null.
|
|
194
194
|
// Reference: https://www.gnu.org/software/tar/manual/html_node/Standard.html
|
|
195
195
|
// POSIX header: byte offset
|
|
196
|
-
name: [100]u8 =
|
|
196
|
+
name: [100]u8 = @splat(0), // 0
|
|
197
197
|
mode: [7:0]u8 = default_mode.file, // 100
|
|
198
|
-
uid: [7:0]u8 =
|
|
199
|
-
gid: [7:0]u8 =
|
|
200
|
-
size: [11:0]u8 =
|
|
201
|
-
mtime: [11:0]u8 =
|
|
202
|
-
checksum: [7:0]u8 =
|
|
198
|
+
uid: [7:0]u8 = @splat(0), // unused 108
|
|
199
|
+
gid: [7:0]u8 = @splat(0), // unused 116
|
|
200
|
+
size: [11:0]u8 = @splat('0'), // 124
|
|
201
|
+
mtime: [11:0]u8 = @splat('0'), // 136
|
|
202
|
+
checksum: [7:0]u8 = @splat(' '), // 148
|
|
203
203
|
typeflag: FileType = .regular, // 156
|
|
204
|
-
linkname: [100]u8 =
|
|
205
|
-
magic: [6]u8 =
|
|
206
|
-
version: [2]u8 =
|
|
207
|
-
uname: [32]u8 =
|
|
208
|
-
gname: [32]u8 =
|
|
209
|
-
devmajor: [7:0]u8 =
|
|
210
|
-
devminor: [7:0]u8 =
|
|
211
|
-
prefix: [155]u8 =
|
|
212
|
-
pad: [12]u8 =
|
|
204
|
+
linkname: [100]u8 = @splat(0), // 157
|
|
205
|
+
magic: [6]u8 = .{ 'u', 's', 't', 'a', 'r', 0 }, // 257
|
|
206
|
+
version: [2]u8 = .{ '0', '0' }, // 263
|
|
207
|
+
uname: [32]u8 = @splat(0), // unused 265
|
|
208
|
+
gname: [32]u8 = @splat(0), // unused 297
|
|
209
|
+
devmajor: [7:0]u8 = @splat(0), // unused 329
|
|
210
|
+
devminor: [7:0]u8 = @splat(0), // unused 337
|
|
211
|
+
prefix: [155]u8 = @splat(0), // 345
|
|
212
|
+
pad: [12]u8 = @splat(0), // unused 500
|
|
213
213
|
|
|
214
214
|
pub const FileType = enum(u8) {
|
|
215
215
|
regular = '0',
|
|
@@ -342,26 +342,26 @@ pub const Header = extern struct {
|
|
|
342
342
|
},
|
|
343
343
|
// no more both fits into name
|
|
344
344
|
.{
|
|
345
|
-
.in = &.{ "prefix", "0123456789/"
|
|
346
|
-
.out = &.{ "prefix", "0123456789/"
|
|
345
|
+
.in = &.{ "prefix", repeatString(8, "0123456789/") ++ "basename" },
|
|
346
|
+
.out = &.{ "prefix", repeatString(8, "0123456789/") ++ "basename" },
|
|
347
347
|
},
|
|
348
348
|
// put as much as you can into prefix the rest goes into name
|
|
349
349
|
.{
|
|
350
|
-
.in = &.{ "prefix", "0123456789/"
|
|
351
|
-
.out = &.{ "prefix/" ++ "0123456789/"
|
|
350
|
+
.in = &.{ "prefix", repeatString(10, "0123456789/") ++ "basename" },
|
|
351
|
+
.out = &.{ "prefix/" ++ repeatString(9, "0123456789/") ++ "0123456789", "basename" },
|
|
352
352
|
},
|
|
353
353
|
|
|
354
354
|
.{
|
|
355
|
-
.in = &.{ "prefix", "0123456789/"
|
|
356
|
-
.out = &.{ "prefix/" ++ "0123456789/"
|
|
355
|
+
.in = &.{ "prefix", repeatString(15, "0123456789/") ++ "basename" },
|
|
356
|
+
.out = &.{ "prefix/" ++ repeatString(12, "0123456789/") ++ "0123456789", "0123456789/0123456789/basename" },
|
|
357
357
|
},
|
|
358
358
|
.{
|
|
359
|
-
.in = &.{ "prefix", "0123456789/"
|
|
360
|
-
.out = &.{ "prefix/" ++ "0123456789/"
|
|
359
|
+
.in = &.{ "prefix", repeatString(21, "0123456789/") ++ "basename" },
|
|
360
|
+
.out = &.{ "prefix/" ++ repeatString(12, "0123456789/") ++ "0123456789", repeatString(8, "0123456789/") ++ "basename" },
|
|
361
361
|
},
|
|
362
362
|
.{
|
|
363
|
-
.in = &.{ "", "012345678/"
|
|
364
|
-
.out = &.{ "012345678/"
|
|
363
|
+
.in = &.{ "", repeatString(10, "012345678/") ++ "foo" },
|
|
364
|
+
.out = &.{ repeatString(9, "012345678/") ++ "012345678", "foo" },
|
|
365
365
|
},
|
|
366
366
|
};
|
|
367
367
|
|
|
@@ -378,10 +378,10 @@ pub const Header = extern struct {
|
|
|
378
378
|
// basename can't fit into name (106 characters)
|
|
379
379
|
.{ .in = &.{ "zig", "test/cases/compile_errors/regression_test_2980_base_type_u32_is_not_type_checked_properly_when_assigning_a_value_within_a_struct.zig" } },
|
|
380
380
|
// cant fit into 255 + sep
|
|
381
|
-
.{ .in = &.{ "prefix", "0123456789/"
|
|
381
|
+
.{ .in = &.{ "prefix", repeatString(22, "0123456789/") ++ "basename" } },
|
|
382
382
|
// can fit but sub_path can't be split (there is no separator)
|
|
383
|
-
.{ .in = &.{ "prefix", "0123456789"
|
|
384
|
-
.{ .in = &.{ "prefix", "0123456789"
|
|
383
|
+
.{ .in = &.{ "prefix", repeatString(10, "0123456789") ++ "a" } },
|
|
384
|
+
.{ .in = &.{ "prefix", repeatString(14, "0123456789") ++ "basename" } },
|
|
385
385
|
};
|
|
386
386
|
|
|
387
387
|
for (error_cases) |case| {
|
|
@@ -404,11 +404,11 @@ test "write files" {
|
|
|
404
404
|
content: []const u8,
|
|
405
405
|
}{
|
|
406
406
|
.{ .path = "foo", .content = "bar" },
|
|
407
|
-
.{ .path = "a12345678/"
|
|
408
|
-
.{ .path = "b12345678/"
|
|
409
|
-
.{ .path = "c12345678/"
|
|
410
|
-
.{ .path = "d12345678/"
|
|
411
|
-
.{ .path = "e123456789"
|
|
407
|
+
.{ .path = repeatString(10, "a12345678/") ++ "foo", .content = repeatString(511, "a") },
|
|
408
|
+
.{ .path = repeatString(24, "b12345678/") ++ "foo", .content = repeatString(512, "b") },
|
|
409
|
+
.{ .path = repeatString(25, "c12345678/") ++ "foo", .content = repeatString(513, "c") },
|
|
410
|
+
.{ .path = repeatString(51, "d12345678/") ++ "foo", .content = repeatString(1025, "d") },
|
|
411
|
+
.{ .path = repeatString(11, "e123456789"), .content = "e" },
|
|
412
412
|
};
|
|
413
413
|
|
|
414
414
|
var file_name_buffer: [std.fs.max_path_bytes]u8 = undefined;
|
|
@@ -482,3 +482,9 @@ test "write files" {
|
|
|
482
482
|
try w.finishPedantically();
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
|
+
|
|
486
|
+
/// Marked `inline` to avoid unnecessary binary float, since arguments are always comptime-known.
|
|
487
|
+
inline fn repeatString(comptime n: usize, comptime str: []const u8) []const u8 {
|
|
488
|
+
const buf: [n][str.len]u8 = @splat(str[0..str.len].*);
|
|
489
|
+
return @ptrCast(&buf);
|
|
490
|
+
}
|
package/std/tar.zig
CHANGED
|
@@ -734,6 +734,10 @@ test PaxIterator {
|
|
|
734
734
|
value: []const u8 = undefined,
|
|
735
735
|
err: ?anyerror = null,
|
|
736
736
|
};
|
|
737
|
+
const long_path: *const [1000]u8 = comptime path: {
|
|
738
|
+
const buf: [100][10]u8 = @splat("0123456789".*);
|
|
739
|
+
break :path @ptrCast(&buf);
|
|
740
|
+
};
|
|
737
741
|
const cases = [_]struct {
|
|
738
742
|
data: []const u8,
|
|
739
743
|
attrs: []const Attr,
|
|
@@ -816,9 +820,9 @@ test PaxIterator {
|
|
|
816
820
|
},
|
|
817
821
|
},
|
|
818
822
|
.{ // 1000 characters path
|
|
819
|
-
.data = "1011 path=" ++
|
|
823
|
+
.data = "1011 path=" ++ long_path ++ "\n",
|
|
820
824
|
.attrs = &[_]Attr{
|
|
821
|
-
.{ .kind = .path, .value =
|
|
825
|
+
.{ .kind = .path, .value = long_path },
|
|
822
826
|
},
|
|
823
827
|
},
|
|
824
828
|
};
|
|
@@ -879,7 +883,7 @@ test "header parse size" {
|
|
|
879
883
|
};
|
|
880
884
|
|
|
881
885
|
for (cases) |case| {
|
|
882
|
-
var bytes
|
|
886
|
+
var bytes: [Header.SIZE]u8 = @splat(0);
|
|
883
887
|
@memcpy(bytes[124 .. 124 + case.in.len], case.in);
|
|
884
888
|
var header = Header{ .bytes = &bytes };
|
|
885
889
|
if (case.err) |err| {
|
|
@@ -904,7 +908,7 @@ test "header parse mode" {
|
|
|
904
908
|
.{ .in = "777777777777", .want = 0o77777777 },
|
|
905
909
|
};
|
|
906
910
|
for (cases) |case| {
|
|
907
|
-
var bytes
|
|
911
|
+
var bytes: [Header.SIZE]u8 = @splat(0);
|
|
908
912
|
@memcpy(bytes[100 .. 100 + case.in.len], case.in);
|
|
909
913
|
var header = Header{ .bytes = &bytes };
|
|
910
914
|
if (case.err) |err| {
|