@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.296
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 +3 -7
- package/std/Build/Watch/FsEvents.zig +1 -1
- package/std/Build/WebServer.zig +2 -2
- package/std/Build/abi.zig +1 -1
- package/std/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/LibCDirs.zig +15 -6
- 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/math.zig
CHANGED
|
@@ -58,6 +58,7 @@ pub const floatMax = float.floatMax;
|
|
|
58
58
|
pub const floatEps = float.floatEps;
|
|
59
59
|
pub const floatEpsAt = float.floatEpsAt;
|
|
60
60
|
pub const inf = float.inf;
|
|
61
|
+
pub const long_double = float.long_double;
|
|
61
62
|
pub const nan = float.nan;
|
|
62
63
|
pub const snan = float.snan;
|
|
63
64
|
|
|
@@ -778,7 +779,7 @@ pub fn Log2Int(comptime T: type) type {
|
|
|
778
779
|
if (T == comptime_int) return comptime_int;
|
|
779
780
|
const bits: u16 = @typeInfo(T).int.bits;
|
|
780
781
|
const log2_bits = 16 - @clz(bits - 1);
|
|
781
|
-
return
|
|
782
|
+
return @Int(.unsigned, log2_bits);
|
|
782
783
|
}
|
|
783
784
|
|
|
784
785
|
/// Returns an unsigned int type that can hold the number of bits in T.
|
|
@@ -787,7 +788,7 @@ pub fn Log2IntCeil(comptime T: type) type {
|
|
|
787
788
|
if (T == comptime_int) return comptime_int;
|
|
788
789
|
const bits: u16 = @typeInfo(T).int.bits;
|
|
789
790
|
const log2_bits = 16 - @clz(bits);
|
|
790
|
-
return
|
|
791
|
+
return @Int(.unsigned, log2_bits);
|
|
791
792
|
}
|
|
792
793
|
|
|
793
794
|
/// Returns the smallest integer type that can hold both from and to.
|
|
@@ -1047,10 +1048,10 @@ fn testRem() !void {
|
|
|
1047
1048
|
|
|
1048
1049
|
/// Returns the negation of the integer parameter.
|
|
1049
1050
|
/// Result is a signed integer.
|
|
1050
|
-
pub fn negateCast(x: anytype)
|
|
1051
|
+
pub fn negateCast(x: anytype) !@Int(.signed, @bitSizeOf(@TypeOf(x))) {
|
|
1051
1052
|
if (@typeInfo(@TypeOf(x)).int.signedness == .signed) return negate(x);
|
|
1052
1053
|
|
|
1053
|
-
const int =
|
|
1054
|
+
const int = @Int(.signed, @bitSizeOf(@TypeOf(x)));
|
|
1054
1055
|
if (x > -minInt(int)) return error.Overflow;
|
|
1055
1056
|
|
|
1056
1057
|
if (x == -minInt(int)) return minInt(int);
|
|
@@ -1140,13 +1141,11 @@ test isPowerOfTwo {
|
|
|
1140
1141
|
pub fn ByteAlignedInt(comptime T: type) type {
|
|
1141
1142
|
const info = @typeInfo(T).int;
|
|
1142
1143
|
const bits = (info.bits + 7) / 8 * 8;
|
|
1143
|
-
|
|
1144
|
-
return extended_type;
|
|
1144
|
+
return @Int(info.signedness, bits);
|
|
1145
1145
|
}
|
|
1146
1146
|
|
|
1147
1147
|
test ByteAlignedInt {
|
|
1148
1148
|
try testing.expect(ByteAlignedInt(u0) == u0);
|
|
1149
|
-
try testing.expect(ByteAlignedInt(i0) == i0);
|
|
1150
1149
|
try testing.expect(ByteAlignedInt(u3) == u8);
|
|
1151
1150
|
try testing.expect(ByteAlignedInt(u8) == u8);
|
|
1152
1151
|
try testing.expect(ByteAlignedInt(i111) == i112);
|
|
@@ -1178,7 +1177,7 @@ pub inline fn floor(value: anytype) @TypeOf(value) {
|
|
|
1178
1177
|
/// Returns the nearest power of two less than or equal to value, or
|
|
1179
1178
|
/// zero if value is less than or equal to zero.
|
|
1180
1179
|
pub fn floorPowerOfTwo(comptime T: type, value: T) T {
|
|
1181
|
-
const uT =
|
|
1180
|
+
const uT = @Int(.unsigned, @typeInfo(T).int.bits);
|
|
1182
1181
|
if (value <= 0) return 0;
|
|
1183
1182
|
return @as(T, 1) << log2_int(uT, @as(uT, @intCast(value)));
|
|
1184
1183
|
}
|
|
@@ -1213,11 +1212,11 @@ pub inline fn ceil(value: anytype) @TypeOf(value) {
|
|
|
1213
1212
|
/// Returns the next power of two (if the value is not already a power of two).
|
|
1214
1213
|
/// Only unsigned integers can be used. Zero is not an allowed input.
|
|
1215
1214
|
/// Result is a type with 1 more bit than the input type.
|
|
1216
|
-
pub fn ceilPowerOfTwoPromote(comptime T: type, value: T)
|
|
1215
|
+
pub fn ceilPowerOfTwoPromote(comptime T: type, value: T) @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1) {
|
|
1217
1216
|
comptime assert(@typeInfo(T) == .int);
|
|
1218
1217
|
comptime assert(@typeInfo(T).int.signedness == .unsigned);
|
|
1219
1218
|
assert(value != 0);
|
|
1220
|
-
const PromotedType =
|
|
1219
|
+
const PromotedType = @Int(@typeInfo(T).int.signedness, @typeInfo(T).int.bits + 1);
|
|
1221
1220
|
const ShiftType = std.math.Log2Int(PromotedType);
|
|
1222
1221
|
return @as(PromotedType, 1) << @as(ShiftType, @intCast(@typeInfo(T).int.bits - @clz(value - 1)));
|
|
1223
1222
|
}
|
|
@@ -1229,7 +1228,7 @@ pub fn ceilPowerOfTwo(comptime T: type, value: T) (error{Overflow}!T) {
|
|
|
1229
1228
|
comptime assert(@typeInfo(T) == .int);
|
|
1230
1229
|
const info = @typeInfo(T).int;
|
|
1231
1230
|
comptime assert(info.signedness == .unsigned);
|
|
1232
|
-
const PromotedType =
|
|
1231
|
+
const PromotedType = @Int(info.signedness, info.bits + 1);
|
|
1233
1232
|
const overflowBit = @as(PromotedType, 1) << info.bits;
|
|
1234
1233
|
const x = ceilPowerOfTwoPromote(T, value);
|
|
1235
1234
|
if (overflowBit & x != 0) {
|
|
@@ -1441,19 +1440,17 @@ test lerp {
|
|
|
1441
1440
|
|
|
1442
1441
|
/// Returns the maximum value of integer type T.
|
|
1443
1442
|
pub fn maxInt(comptime T: type) comptime_int {
|
|
1444
|
-
const info = @typeInfo(T);
|
|
1445
|
-
|
|
1446
|
-
if (bit_count == 0) return 0;
|
|
1447
|
-
return (1 << (bit_count - @intFromBool(info.int.signedness == .signed))) - 1;
|
|
1443
|
+
const info = @typeInfo(T).int;
|
|
1444
|
+
return (1 << (info.bits - @intFromBool(info.signedness == .signed))) - 1;
|
|
1448
1445
|
}
|
|
1449
1446
|
|
|
1450
1447
|
/// Returns the minimum value of integer type T.
|
|
1451
1448
|
pub fn minInt(comptime T: type) comptime_int {
|
|
1452
|
-
const info = @typeInfo(T);
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1449
|
+
const info = @typeInfo(T).int;
|
|
1450
|
+
return switch (info.signedness) {
|
|
1451
|
+
.unsigned => 0,
|
|
1452
|
+
.signed => -(1 << (info.bits - 1)),
|
|
1453
|
+
};
|
|
1457
1454
|
}
|
|
1458
1455
|
|
|
1459
1456
|
test maxInt {
|
|
@@ -1465,7 +1462,6 @@ test maxInt {
|
|
|
1465
1462
|
try testing.expect(maxInt(u64) == 18446744073709551615);
|
|
1466
1463
|
try testing.expect(maxInt(u128) == 340282366920938463463374607431768211455);
|
|
1467
1464
|
|
|
1468
|
-
try testing.expect(maxInt(i0) == 0);
|
|
1469
1465
|
try testing.expect(maxInt(i1) == 0);
|
|
1470
1466
|
try testing.expect(maxInt(i8) == 127);
|
|
1471
1467
|
try testing.expect(maxInt(i16) == 32767);
|
|
@@ -1485,7 +1481,6 @@ test minInt {
|
|
|
1485
1481
|
try testing.expect(minInt(u64) == 0);
|
|
1486
1482
|
try testing.expect(minInt(u128) == 0);
|
|
1487
1483
|
|
|
1488
|
-
try testing.expect(minInt(i0) == 0);
|
|
1489
1484
|
try testing.expect(minInt(i1) == -1);
|
|
1490
1485
|
try testing.expect(minInt(i8) == -128);
|
|
1491
1486
|
try testing.expect(minInt(i16) == -32768);
|
|
@@ -1502,11 +1497,11 @@ test "max value type" {
|
|
|
1502
1497
|
|
|
1503
1498
|
/// Multiply a and b. Return type is wide enough to guarantee no
|
|
1504
1499
|
/// overflow.
|
|
1505
|
-
pub fn mulWide(comptime T: type, a: T, b: T)
|
|
1500
|
+
pub fn mulWide(comptime T: type, a: T, b: T) @Int(
|
|
1506
1501
|
@typeInfo(T).int.signedness,
|
|
1507
1502
|
@typeInfo(T).int.bits * 2,
|
|
1508
1503
|
) {
|
|
1509
|
-
const ResultInt =
|
|
1504
|
+
const ResultInt = @Int(
|
|
1510
1505
|
@typeInfo(T).int.signedness,
|
|
1511
1506
|
@typeInfo(T).int.bits * 2,
|
|
1512
1507
|
);
|
|
@@ -1709,8 +1704,8 @@ pub inline fn boolMask(comptime MaskInt: type, value: bool) MaskInt {
|
|
|
1709
1704
|
if (@typeInfo(MaskInt) != .int)
|
|
1710
1705
|
@compileError("boolMask requires an integer mask type.");
|
|
1711
1706
|
|
|
1712
|
-
if (MaskInt == u0
|
|
1713
|
-
@compileError("boolMask cannot convert to u0
|
|
1707
|
+
if (MaskInt == u0)
|
|
1708
|
+
@compileError("boolMask cannot convert to u0, it is too small.");
|
|
1714
1709
|
|
|
1715
1710
|
// The u1 and i1 cases tend to overflow,
|
|
1716
1711
|
// so we special case them here.
|
package/std/mem/Allocator.zig
CHANGED
|
@@ -456,12 +456,6 @@ pub fn dupe(allocator: Allocator, comptime T: type, m: []const T) Error![]T {
|
|
|
456
456
|
return new_buf;
|
|
457
457
|
}
|
|
458
458
|
|
|
459
|
-
/// Deprecated in favor of `dupeSentinel`
|
|
460
|
-
/// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
|
|
461
|
-
pub fn dupeZ(allocator: Allocator, comptime T: type, m: []const T) Error![:0]T {
|
|
462
|
-
return allocator.dupeSentinel(T, m, 0);
|
|
463
|
-
}
|
|
464
|
-
|
|
465
459
|
/// Copies `m` to newly allocated memory, with a null-terminated element. Caller owns the memory.
|
|
466
460
|
pub fn dupeSentinel(
|
|
467
461
|
allocator: Allocator,
|
package/std/mem.zig
CHANGED
|
@@ -359,7 +359,10 @@ test zeroes {
|
|
|
359
359
|
var a = zeroes(C_struct);
|
|
360
360
|
|
|
361
361
|
// Extern structs should have padding zeroed out.
|
|
362
|
-
|
|
362
|
+
{
|
|
363
|
+
const num_bytes = @sizeOf(@TypeOf(a));
|
|
364
|
+
try testing.expectEqualSlices(u8, &@as([num_bytes]u8, @splat(0)), @ptrCast(&a));
|
|
365
|
+
}
|
|
363
366
|
|
|
364
367
|
a.y += 10;
|
|
365
368
|
|
|
@@ -370,7 +373,6 @@ test zeroes {
|
|
|
370
373
|
comptime comptime_field: u8 = 5,
|
|
371
374
|
|
|
372
375
|
integral_types: struct {
|
|
373
|
-
integer_0: i0,
|
|
374
376
|
integer_8: i8,
|
|
375
377
|
integer_16: i16,
|
|
376
378
|
integer_32: i32,
|
|
@@ -405,7 +407,6 @@ test zeroes {
|
|
|
405
407
|
|
|
406
408
|
const b = zeroes(ZigStruct);
|
|
407
409
|
try testing.expectEqual(@as(u8, 5), b.comptime_field);
|
|
408
|
-
try testing.expectEqual(@as(i8, 0), b.integral_types.integer_0);
|
|
409
410
|
try testing.expectEqual(@as(i8, 0), b.integral_types.integer_8);
|
|
410
411
|
try testing.expectEqual(@as(i16, 0), b.integral_types.integer_16);
|
|
411
412
|
try testing.expectEqual(@as(i32, 0), b.integral_types.integer_32);
|
|
@@ -1589,7 +1590,7 @@ test find {
|
|
|
1589
1590
|
test "find multibyte" {
|
|
1590
1591
|
{
|
|
1591
1592
|
// make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
|
|
1592
|
-
const haystack = [
|
|
1593
|
+
const haystack = @as([100]u16, @splat(0)) ++ [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff };
|
|
1593
1594
|
const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
|
|
1594
1595
|
try testing.expectEqual(findPos(u16, &haystack, 0, &needle), 100);
|
|
1595
1596
|
|
|
@@ -1602,7 +1603,7 @@ test "find multibyte" {
|
|
|
1602
1603
|
|
|
1603
1604
|
{
|
|
1604
1605
|
// make haystack and needle long enough to trigger Boyer-Moore-Horspool algorithm
|
|
1605
|
-
const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ [
|
|
1606
|
+
const haystack = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee, 0x00ff } ++ @as([100]u16, @splat(0));
|
|
1606
1607
|
const needle = [_]u16{ 0xbbaa, 0xccbb, 0xddcc, 0xeedd, 0xffee };
|
|
1607
1608
|
try testing.expectEqual(lastIndexOf(u16, &haystack, &needle), 0);
|
|
1608
1609
|
|
|
@@ -1776,7 +1777,7 @@ pub fn readVarInt(comptime ReturnType: type, bytes: []const u8, endian: Endian)
|
|
|
1776
1777
|
assert(@typeInfo(ReturnType).int.bits >= bytes.len * 8);
|
|
1777
1778
|
const bits = @typeInfo(ReturnType).int.bits;
|
|
1778
1779
|
const signedness = @typeInfo(ReturnType).int.signedness;
|
|
1779
|
-
const WorkType =
|
|
1780
|
+
const WorkType = @Int(signedness, @max(16, bits));
|
|
1780
1781
|
var result: WorkType = 0;
|
|
1781
1782
|
switch (endian) {
|
|
1782
1783
|
.big => {
|
|
@@ -1827,8 +1828,8 @@ pub fn readVarPackedInt(
|
|
|
1827
1828
|
endian: std.builtin.Endian,
|
|
1828
1829
|
signedness: std.builtin.Signedness,
|
|
1829
1830
|
) T {
|
|
1830
|
-
const uN =
|
|
1831
|
-
const iN =
|
|
1831
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1832
|
+
const iN = @Int(.signed, @bitSizeOf(T));
|
|
1832
1833
|
const Log2N = std.math.Log2Int(T);
|
|
1833
1834
|
|
|
1834
1835
|
const read_size = (bit_count + (bit_offset % 8) + 7) / 8;
|
|
@@ -1920,7 +1921,7 @@ test readInt {
|
|
|
1920
1921
|
}
|
|
1921
1922
|
|
|
1922
1923
|
fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
1923
|
-
const uN =
|
|
1924
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1924
1925
|
const Log2N = std.math.Log2Int(T);
|
|
1925
1926
|
|
|
1926
1927
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -1928,7 +1929,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
|
|
|
1928
1929
|
|
|
1929
1930
|
const load_size = (bit_count + 7) / 8;
|
|
1930
1931
|
const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
|
|
1931
|
-
const LoadInt =
|
|
1932
|
+
const LoadInt = @Int(.unsigned, load_size * 8);
|
|
1932
1933
|
|
|
1933
1934
|
if (bit_count == 0)
|
|
1934
1935
|
return 0;
|
|
@@ -1946,7 +1947,7 @@ fn readPackedIntLittle(comptime T: type, bytes: []const u8, bit_offset: usize) T
|
|
|
1946
1947
|
}
|
|
1947
1948
|
|
|
1948
1949
|
fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
1949
|
-
const uN =
|
|
1950
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
1950
1951
|
const Log2N = std.math.Log2Int(T);
|
|
1951
1952
|
|
|
1952
1953
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -1955,7 +1956,7 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T {
|
|
|
1955
1956
|
|
|
1956
1957
|
const load_size = (bit_count + 7) / 8;
|
|
1957
1958
|
const load_tail_bits = @as(u3, @intCast((load_size * 8) - bit_count));
|
|
1958
|
-
const LoadInt =
|
|
1959
|
+
const LoadInt = @Int(.unsigned, load_size * 8);
|
|
1959
1960
|
|
|
1960
1961
|
if (bit_count == 0)
|
|
1961
1962
|
return 0;
|
|
@@ -2060,7 +2061,7 @@ test writeInt {
|
|
|
2060
2061
|
}
|
|
2061
2062
|
|
|
2062
2063
|
fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
|
|
2063
|
-
const uN =
|
|
2064
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2064
2065
|
const Log2N = std.math.Log2Int(T);
|
|
2065
2066
|
|
|
2066
2067
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -2068,7 +2069,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
|
|
|
2068
2069
|
|
|
2069
2070
|
const store_size = (@bitSizeOf(T) + 7) / 8;
|
|
2070
2071
|
const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
|
|
2071
|
-
const StoreInt =
|
|
2072
|
+
const StoreInt = @Int(.unsigned, store_size * 8);
|
|
2072
2073
|
|
|
2073
2074
|
if (bit_count == 0)
|
|
2074
2075
|
return;
|
|
@@ -2093,7 +2094,7 @@ fn writePackedIntLittle(comptime T: type, bytes: []u8, bit_offset: usize, value:
|
|
|
2093
2094
|
}
|
|
2094
2095
|
|
|
2095
2096
|
fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T) void {
|
|
2096
|
-
const uN =
|
|
2097
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2097
2098
|
const Log2N = std.math.Log2Int(T);
|
|
2098
2099
|
|
|
2099
2100
|
const bit_count = @as(usize, @bitSizeOf(T));
|
|
@@ -2102,7 +2103,7 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T)
|
|
|
2102
2103
|
|
|
2103
2104
|
const store_size = (@bitSizeOf(T) + 7) / 8;
|
|
2104
2105
|
const store_tail_bits = @as(u3, @intCast((store_size * 8) - bit_count));
|
|
2105
|
-
const StoreInt =
|
|
2106
|
+
const StoreInt = @Int(.unsigned, store_size * 8);
|
|
2106
2107
|
|
|
2107
2108
|
if (bit_count == 0)
|
|
2108
2109
|
return;
|
|
@@ -2159,7 +2160,7 @@ test writePackedInt {
|
|
|
2159
2160
|
/// If negative, the written value is sign-extended.
|
|
2160
2161
|
pub fn writeVarPackedInt(bytes: []u8, bit_offset: usize, bit_count: usize, value: anytype, endian: std.builtin.Endian) void {
|
|
2161
2162
|
const T = @TypeOf(value);
|
|
2162
|
-
const uN =
|
|
2163
|
+
const uN = @Int(.unsigned, @bitSizeOf(T));
|
|
2163
2164
|
|
|
2164
2165
|
const bit_shift = @as(u3, @intCast(bit_offset % 8));
|
|
2165
2166
|
const write_size = (bit_count + bit_shift + 7) / 8;
|
|
@@ -2241,7 +2242,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
|
|
|
2241
2242
|
},
|
|
2242
2243
|
.bool => {},
|
|
2243
2244
|
.float => |float_info| {
|
|
2244
|
-
@field(ptr, f.name) = @bitCast(@byteSwap(@as(
|
|
2245
|
+
@field(ptr, f.name) = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(@field(ptr, f.name)))));
|
|
2245
2246
|
},
|
|
2246
2247
|
else => {
|
|
2247
2248
|
@field(ptr, f.name) = @byteSwap(@field(ptr, f.name));
|
|
@@ -2261,7 +2262,7 @@ pub fn byteSwapAllFieldsAligned(comptime S: type, comptime a: Alignment, ptr: *a
|
|
|
2261
2262
|
}
|
|
2262
2263
|
}
|
|
2263
2264
|
|
|
2264
|
-
const BackingInt =
|
|
2265
|
+
const BackingInt = @Int(.unsigned, @bitSizeOf(S));
|
|
2265
2266
|
ptr.* = @bitCast(@byteSwap(@as(BackingInt, @bitCast(ptr.*))));
|
|
2266
2267
|
},
|
|
2267
2268
|
.array => |info| {
|
|
@@ -2369,7 +2370,7 @@ pub fn byteSwapAllElements(comptime Elem: type, slice: []Elem) void {
|
|
|
2369
2370
|
},
|
|
2370
2371
|
.bool => {},
|
|
2371
2372
|
.float => |float_info| {
|
|
2372
|
-
elem.* = @bitCast(@byteSwap(@as(
|
|
2373
|
+
elem.* = @bitCast(@byteSwap(@as(@Int(.unsigned, float_info.bits), @bitCast(elem.*))));
|
|
2373
2374
|
},
|
|
2374
2375
|
else => {
|
|
2375
2376
|
elem.* = @byteSwap(elem.*);
|
|
@@ -4647,7 +4648,7 @@ test "sliceAsBytes with sentinel slice" {
|
|
|
4647
4648
|
}
|
|
4648
4649
|
|
|
4649
4650
|
test "sliceAsBytes with zero-bit element type" {
|
|
4650
|
-
const lots_of_nothing
|
|
4651
|
+
const lots_of_nothing: [10_000]void = @splat({});
|
|
4651
4652
|
const bytes = sliceAsBytes(&lots_of_nothing);
|
|
4652
4653
|
try testing.expect(bytes.len == 0);
|
|
4653
4654
|
}
|
|
@@ -4799,7 +4800,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
|
|
|
4799
4800
|
const bits = t.int.bits;
|
|
4800
4801
|
if (bits <= max_gp_register_bits and builtin.zig_backend != .stage2_c) {
|
|
4801
4802
|
const val2 = @as(
|
|
4802
|
-
|
|
4803
|
+
@Int(t.int.signedness, @max(8, std.math.ceilPowerOfTwoAssert(u16, bits))),
|
|
4803
4804
|
val,
|
|
4804
4805
|
);
|
|
4805
4806
|
asm volatile (""
|
|
@@ -4809,8 +4810,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
|
|
|
4809
4810
|
} else doNotOptimizeAway(&val);
|
|
4810
4811
|
},
|
|
4811
4812
|
.float => {
|
|
4812
|
-
|
|
4813
|
-
if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c and !builtin.cpu.arch.isLoongArch()) {
|
|
4813
|
+
if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c) {
|
|
4814
4814
|
asm volatile (""
|
|
4815
4815
|
:
|
|
4816
4816
|
: [_] "rm" (val),
|
|
@@ -4866,8 +4866,8 @@ test doNotOptimizeAway {
|
|
|
4866
4866
|
doNotOptimizeAway(@as(u200, 0));
|
|
4867
4867
|
doNotOptimizeAway(@as(f32, 0.0));
|
|
4868
4868
|
doNotOptimizeAway(@as(f64, 0.0));
|
|
4869
|
-
doNotOptimizeAway([
|
|
4870
|
-
doNotOptimizeAway([
|
|
4869
|
+
doNotOptimizeAway(@as([4]u8, @splat(0)));
|
|
4870
|
+
doNotOptimizeAway(@as([100]u8, @splat(0)));
|
|
4871
4871
|
doNotOptimizeAway(@as(std.builtin.Endian, .little));
|
|
4872
4872
|
}
|
|
4873
4873
|
|
|
@@ -4964,7 +4964,7 @@ test isAligned {
|
|
|
4964
4964
|
}
|
|
4965
4965
|
|
|
4966
4966
|
test "freeing empty string with null-terminated sentinel" {
|
|
4967
|
-
const empty_string = try testing.allocator.
|
|
4967
|
+
const empty_string = try testing.allocator.dupeSentinel(u8, "", 0);
|
|
4968
4968
|
testing.allocator.free(empty_string);
|
|
4969
4969
|
}
|
|
4970
4970
|
|
|
@@ -5035,8 +5035,8 @@ test "read/write(Var)PackedInt" {
|
|
|
5035
5035
|
if (@bitSizeOf(PackedType) > @bitSizeOf(BackingType))
|
|
5036
5036
|
continue;
|
|
5037
5037
|
|
|
5038
|
-
const iPackedType =
|
|
5039
|
-
const uPackedType =
|
|
5038
|
+
const iPackedType = @Int(.signed, @bitSizeOf(PackedType));
|
|
5039
|
+
const uPackedType = @Int(.unsigned, @bitSizeOf(PackedType));
|
|
5040
5040
|
const Log2T = std.math.Log2Int(BackingType);
|
|
5041
5041
|
|
|
5042
5042
|
const offset_at_end = @bitSizeOf(BackingType) - @bitSizeOf(PackedType);
|
|
@@ -5103,8 +5103,8 @@ test "read/write(Var)PackedInt" {
|
|
|
5103
5103
|
}
|
|
5104
5104
|
|
|
5105
5105
|
const signedness = @typeInfo(PackedType).int.signedness;
|
|
5106
|
-
const NextPowerOfTwoInt =
|
|
5107
|
-
const ui64 =
|
|
5106
|
+
const NextPowerOfTwoInt = @Int(signedness, try std.math.ceilPowerOfTwo(u16, @bitSizeOf(PackedType)));
|
|
5107
|
+
const ui64 = @Int(signedness, 64);
|
|
5108
5108
|
inline for ([_]type{ PackedType, NextPowerOfTwoInt, ui64 }) |U| {
|
|
5109
5109
|
{ // Variable-size Read/Write (Native-endian)
|
|
5110
5110
|
|
|
@@ -13,7 +13,7 @@ pub fn TrailerFlags(comptime Fields: type) type {
|
|
|
13
13
|
return struct {
|
|
14
14
|
bits: Int,
|
|
15
15
|
|
|
16
|
-
pub const Int =
|
|
16
|
+
pub const Int = @Int(.unsigned, bit_count);
|
|
17
17
|
pub const bit_count = @typeInfo(Fields).@"struct".fields.len;
|
|
18
18
|
|
|
19
19
|
pub const FieldEnum = std.meta.FieldEnum(Fields);
|
package/std/meta.zig
CHANGED
|
@@ -751,11 +751,6 @@ pub fn fieldIndex(comptime T: type, comptime name: []const u8) ?comptime_int {
|
|
|
751
751
|
return null;
|
|
752
752
|
}
|
|
753
753
|
|
|
754
|
-
/// Deprecated: use @Int
|
|
755
|
-
pub fn Int(comptime signedness: std.builtin.Signedness, comptime bit_count: u16) type {
|
|
756
|
-
return @Int(signedness, bit_count);
|
|
757
|
-
}
|
|
758
|
-
|
|
759
754
|
pub fn Float(comptime bit_count: u8) type {
|
|
760
755
|
return switch (bit_count) {
|
|
761
756
|
16 => f16,
|
|
@@ -796,14 +791,7 @@ pub fn ArgsTuple(comptime Function: type) type {
|
|
|
796
791
|
argument_field_list[i] = T;
|
|
797
792
|
}
|
|
798
793
|
|
|
799
|
-
return Tuple(&argument_field_list);
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
/// Deprecated; use `@Tuple` instead.
|
|
803
|
-
///
|
|
804
|
-
/// To be removed after Zig 0.16.0 releases.
|
|
805
|
-
pub fn Tuple(comptime types: []const type) type {
|
|
806
|
-
return @Tuple(types);
|
|
794
|
+
return @Tuple(&argument_field_list);
|
|
807
795
|
}
|
|
808
796
|
|
|
809
797
|
const TupleTester = struct {
|
|
@@ -839,33 +827,13 @@ test ArgsTuple {
|
|
|
839
827
|
TupleTester.assertTuple(.{u32}, ArgsTuple(fn (comptime a: u32) []const u8));
|
|
840
828
|
}
|
|
841
829
|
|
|
842
|
-
test Tuple {
|
|
843
|
-
TupleTester.assertTuple(.{}, Tuple(&[_]type{}));
|
|
844
|
-
TupleTester.assertTuple(.{u32}, Tuple(&[_]type{u32}));
|
|
845
|
-
TupleTester.assertTuple(.{ u32, f16 }, Tuple(&[_]type{ u32, f16 }));
|
|
846
|
-
TupleTester.assertTuple(.{ u32, f16, []const u8, void }, Tuple(&[_]type{ u32, f16, []const u8, void }));
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
test "Tuple deduplication" {
|
|
850
|
-
const T1 = std.meta.Tuple(&.{ u32, f32, i8 });
|
|
851
|
-
const T2 = std.meta.Tuple(&.{ u32, f32, i8 });
|
|
852
|
-
const T3 = std.meta.Tuple(&.{ u32, f32, i7 });
|
|
853
|
-
|
|
854
|
-
if (T1 != T2) {
|
|
855
|
-
@compileError("std.meta.Tuple doesn't deduplicate tuple types.");
|
|
856
|
-
}
|
|
857
|
-
if (T1 == T3) {
|
|
858
|
-
@compileError("std.meta.Tuple fails to generate different types.");
|
|
859
|
-
}
|
|
860
|
-
}
|
|
861
|
-
|
|
862
830
|
test "ArgsTuple forwarding" {
|
|
863
|
-
const T1 =
|
|
831
|
+
const T1 = @Tuple(&.{ u32, f32, i8 });
|
|
864
832
|
const T2 = std.meta.ArgsTuple(fn (u32, f32, i8) void);
|
|
865
833
|
const T3 = std.meta.ArgsTuple(fn (u32, f32, i8) callconv(.c) noreturn);
|
|
866
834
|
|
|
867
835
|
if (T1 != T2) {
|
|
868
|
-
@compileError("std.meta.ArgsTuple produces different types than
|
|
836
|
+
@compileError("std.meta.ArgsTuple produces different types than @Tuple");
|
|
869
837
|
}
|
|
870
838
|
if (T1 != T3) {
|
|
871
839
|
@compileError("std.meta.ArgsTuple produces different types for the same argument lists.");
|
|
@@ -1067,7 +1035,7 @@ test hasUniqueRepresentation {
|
|
|
1067
1035
|
|
|
1068
1036
|
try testing.expect(!hasUniqueRepresentation(TestUnion4));
|
|
1069
1037
|
|
|
1070
|
-
inline for ([_]type{
|
|
1038
|
+
inline for ([_]type{ u8, i16, u32, i64 }) |T| {
|
|
1071
1039
|
try testing.expect(hasUniqueRepresentation(T));
|
|
1072
1040
|
try testing.expect(hasUniqueRepresentation(enum(T) { _ }));
|
|
1073
1041
|
}
|
package/std/multi_array_list.zig
CHANGED
|
@@ -133,6 +133,13 @@ pub fn MultiArrayList(comptime T: type) type {
|
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
+
pub fn swap(self: Slice, a: usize, b: usize) void {
|
|
137
|
+
inline for (@typeInfo(Field).@"enum".fields) |field| {
|
|
138
|
+
const its = self.items(@field(Field, field.name));
|
|
139
|
+
std.mem.swap(@FieldType(T, field.name), &its[a], &its[b]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
136
143
|
pub fn toMultiArrayList(self: Slice) Self {
|
|
137
144
|
if (self.ptrs.len == 0 or self.capacity == 0) {
|
|
138
145
|
return .{};
|
|
@@ -267,6 +274,10 @@ pub fn MultiArrayList(comptime T: type) type {
|
|
|
267
274
|
return self.slice().get(index);
|
|
268
275
|
}
|
|
269
276
|
|
|
277
|
+
pub fn swap(self: Self, a: usize, b: usize) void {
|
|
278
|
+
return self.slice().swap(a, b);
|
|
279
|
+
}
|
|
280
|
+
|
|
270
281
|
/// Extend the list by 1 element.
|
|
271
282
|
///
|
|
272
283
|
/// Allocates more memory as necessary.
|
|
@@ -771,6 +782,19 @@ test "basic usage" {
|
|
|
771
782
|
try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 1, 2, 3 });
|
|
772
783
|
try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'a', 'b', 'c' });
|
|
773
784
|
|
|
785
|
+
list.swap(0, 2);
|
|
786
|
+
try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 3, 2, 1 });
|
|
787
|
+
try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'c', 'b', 'a' });
|
|
788
|
+
list.swap(2, 1);
|
|
789
|
+
try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 3, 1, 2 });
|
|
790
|
+
try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'c', 'a', 'b' });
|
|
791
|
+
list.swap(2, 0);
|
|
792
|
+
try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 2, 1, 3 });
|
|
793
|
+
try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'b', 'a', 'c' });
|
|
794
|
+
list.swap(0, 1);
|
|
795
|
+
try testing.expectEqualSlices(u32, list.items(.a), &[_]u32{ 1, 2, 3 });
|
|
796
|
+
try testing.expectEqualSlices(u8, list.items(.c), &[_]u8{ 'a', 'b', 'c' });
|
|
797
|
+
|
|
774
798
|
try testing.expectEqual(@as(usize, 3), list.items(.b).len);
|
|
775
799
|
try testing.expectEqualStrings("foobar", list.items(.b)[0]);
|
|
776
800
|
try testing.expectEqualStrings("zigzag", list.items(.b)[1]);
|
package/std/os/emscripten.zig
CHANGED
|
@@ -17,7 +17,7 @@ pub const CLOCK = linux.CLOCK;
|
|
|
17
17
|
|
|
18
18
|
pub const CPU_SETSIZE = 128;
|
|
19
19
|
pub const cpu_set_t = [CPU_SETSIZE / @sizeOf(usize)]usize;
|
|
20
|
-
pub const cpu_count_t =
|
|
20
|
+
pub const cpu_count_t = @Int(.unsigned, std.math.log2(CPU_SETSIZE * 8));
|
|
21
21
|
|
|
22
22
|
pub fn CPU_COUNT(set: cpu_set_t) cpu_count_t {
|
|
23
23
|
var sum: cpu_count_t = 0;
|
|
@@ -373,7 +373,7 @@ pub const rusage = extern struct {
|
|
|
373
373
|
nsignals: isize,
|
|
374
374
|
nvcsw: isize,
|
|
375
375
|
nivcsw: isize,
|
|
376
|
-
__reserved: [16]isize =
|
|
376
|
+
__reserved: [16]isize = @splat(0),
|
|
377
377
|
|
|
378
378
|
pub const SELF = 0;
|
|
379
379
|
pub const CHILDREN = -1;
|
|
@@ -467,8 +467,8 @@ pub const SHUT = struct {
|
|
|
467
467
|
pub const SIG = linux.SIG;
|
|
468
468
|
|
|
469
469
|
pub const Sigaction = extern struct {
|
|
470
|
-
pub const handler_fn = *align(1) const fn (
|
|
471
|
-
pub const sigaction_fn = *const fn (
|
|
470
|
+
pub const handler_fn = *align(1) const fn (SIG) callconv(.c) void;
|
|
471
|
+
pub const sigaction_fn = *const fn (SIG, *const siginfo_t, ?*anyopaque) callconv(.c) void;
|
|
472
472
|
|
|
473
473
|
handler: extern union {
|
|
474
474
|
handler: ?handler_fn,
|
|
@@ -481,10 +481,10 @@ pub const Sigaction = extern struct {
|
|
|
481
481
|
|
|
482
482
|
pub const sigset_t = [1024 / 32]u32;
|
|
483
483
|
pub fn sigemptyset() sigset_t {
|
|
484
|
-
return
|
|
484
|
+
return @splat(0);
|
|
485
485
|
}
|
|
486
486
|
pub const siginfo_t = extern struct {
|
|
487
|
-
signo:
|
|
487
|
+
signo: SIG,
|
|
488
488
|
errno: i32,
|
|
489
489
|
code: i32,
|
|
490
490
|
fields: siginfo_fields_union,
|
|
@@ -882,6 +882,7 @@ pub extern "c" fn emscripten_hide_mouse() void;
|
|
|
882
882
|
pub extern "c" fn emscripten_set_canvas_size(width: c_int, height: c_int) void;
|
|
883
883
|
pub extern "c" fn emscripten_get_canvas_size(width: *c_int, height: *c_int, isFullscreen: *c_int) void;
|
|
884
884
|
pub extern "c" fn emscripten_get_now() f64;
|
|
885
|
+
pub extern "c" fn emscripten_num_logical_cores() c_int;
|
|
885
886
|
pub extern "c" fn emscripten_random() f32;
|
|
886
887
|
pub const em_idb_onload_func = ?*const fn (?*anyopaque, ?*anyopaque, c_int) callconv(.c) void;
|
|
887
888
|
pub extern "c" fn emscripten_idb_async_load(db_name: [*:0]const u8, file_id: [*:0]const u8, arg: ?*anyopaque, onload: em_idb_onload_func, onerror: em_arg_callback_func) void;
|
package/std/os/linux/IoUring.zig
CHANGED
|
@@ -1856,6 +1856,7 @@ pub fn buf_ring_advance(br: *linux.io_uring_buf_ring, count: u16) void {
|
|
|
1856
1856
|
}
|
|
1857
1857
|
|
|
1858
1858
|
test BufferGroup {
|
|
1859
|
+
if (builtin.target.cpu.arch.isPowerPC()) return; // https://codeberg.org/ziglang/zig/issues/31562
|
|
1859
1860
|
if (!is_linux) return error.SkipZigTest;
|
|
1860
1861
|
|
|
1861
1862
|
const io = testing.io;
|
|
@@ -1924,5 +1925,6 @@ test BufferGroup {
|
|
|
1924
1925
|
}
|
|
1925
1926
|
|
|
1926
1927
|
test {
|
|
1928
|
+
if (builtin.target.cpu.arch.isPowerPC()) return; // https://codeberg.org/ziglang/zig/issues/31562
|
|
1927
1929
|
if (is_linux) _ = @import("IoUring/test.zig");
|
|
1928
1930
|
}
|