@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/zig/WindowsSdk.zig
CHANGED
|
@@ -47,7 +47,7 @@ pub fn find(
|
|
|
47
47
|
error.InstallationNotFound => null,
|
|
48
48
|
error.PathTooLong => null,
|
|
49
49
|
error.VersionTooLong => null,
|
|
50
|
-
error.OutOfMemory => return
|
|
50
|
+
error.OutOfMemory => |e| return e,
|
|
51
51
|
};
|
|
52
52
|
errdefer if (windows10sdk) |*w| w.free(gpa);
|
|
53
53
|
|
|
@@ -55,13 +55,13 @@ pub fn find(
|
|
|
55
55
|
error.InstallationNotFound => null,
|
|
56
56
|
error.PathTooLong => null,
|
|
57
57
|
error.VersionTooLong => null,
|
|
58
|
-
error.OutOfMemory => return
|
|
58
|
+
error.OutOfMemory => |e| return e,
|
|
59
59
|
};
|
|
60
60
|
errdefer if (windows81sdk) |*w| w.free(gpa);
|
|
61
61
|
|
|
62
62
|
const msvc_lib_dir: ?[]const u8 = MsvcLibDir.find(gpa, io, ®istry, arch, environ_map) catch |err| switch (err) {
|
|
63
63
|
error.MsvcLibDirNotFound => null,
|
|
64
|
-
error.OutOfMemory => return
|
|
64
|
+
error.OutOfMemory => |e| return e,
|
|
65
65
|
};
|
|
66
66
|
errdefer gpa.free(msvc_lib_dir);
|
|
67
67
|
|
|
@@ -120,7 +120,7 @@ fn iterateAndFilterByVersion(
|
|
|
120
120
|
if (!std.mem.startsWith(u8, entry.name, prefix)) continue;
|
|
121
121
|
|
|
122
122
|
var version: Version = .{
|
|
123
|
-
.nums =
|
|
123
|
+
.nums = @splat(0),
|
|
124
124
|
.build = "",
|
|
125
125
|
};
|
|
126
126
|
const suffix = entry.name[prefix.len..];
|
|
@@ -498,7 +498,7 @@ pub const Installation = struct {
|
|
|
498
498
|
error.StringNotFound,
|
|
499
499
|
=> return error.InstallationNotFound,
|
|
500
500
|
|
|
501
|
-
error.OutOfMemory => return
|
|
501
|
+
error.OutOfMemory => |e| return e,
|
|
502
502
|
};
|
|
503
503
|
defer gpa.free(path_w_maybe_with_trailing_slash);
|
|
504
504
|
|
|
@@ -572,7 +572,7 @@ pub const Installation = struct {
|
|
|
572
572
|
error.StringNotFound,
|
|
573
573
|
=> return error.InstallationNotFound,
|
|
574
574
|
|
|
575
|
-
error.OutOfMemory => return
|
|
575
|
+
error.OutOfMemory => |e| return e,
|
|
576
576
|
};
|
|
577
577
|
defer gpa.free(path_w_maybe_with_trailing_slash);
|
|
578
578
|
|
|
@@ -593,7 +593,7 @@ pub const Installation = struct {
|
|
|
593
593
|
error.StringNotFound,
|
|
594
594
|
=> return error.InstallationNotFound,
|
|
595
595
|
|
|
596
|
-
error.OutOfMemory => return
|
|
596
|
+
error.OutOfMemory => |e| return e,
|
|
597
597
|
};
|
|
598
598
|
defer gpa.free(version_without_0);
|
|
599
599
|
|
|
@@ -664,7 +664,7 @@ const MsvcLibDir = struct {
|
|
|
664
664
|
error.StringNotFound,
|
|
665
665
|
=> return error.PathNotFound,
|
|
666
666
|
|
|
667
|
-
error.OutOfMemory => return
|
|
667
|
+
error.OutOfMemory => |e| return e,
|
|
668
668
|
};
|
|
669
669
|
defer gpa.free(packages_path);
|
|
670
670
|
|
|
@@ -708,7 +708,7 @@ const MsvcLibDir = struct {
|
|
|
708
708
|
error.StringNotFound,
|
|
709
709
|
=> return error.PathNotFound,
|
|
710
710
|
|
|
711
|
-
error.OutOfMemory => return
|
|
711
|
+
error.OutOfMemory => |e| return e,
|
|
712
712
|
};
|
|
713
713
|
defer gpa.free(dll_path);
|
|
714
714
|
|
|
@@ -891,7 +891,7 @@ const MsvcLibDir = struct {
|
|
|
891
891
|
|
|
892
892
|
lib_dir_buf.appendSliceAssumeCapacity(installation_path);
|
|
893
893
|
|
|
894
|
-
if (!Dir.path.isSep(lib_dir_buf.getLast())) {
|
|
894
|
+
if (!Dir.path.isSep(lib_dir_buf.getLast().?)) {
|
|
895
895
|
try lib_dir_buf.append('\\');
|
|
896
896
|
}
|
|
897
897
|
const installation_path_with_trailing_sep_len = lib_dir_buf.items.len;
|
|
@@ -1042,7 +1042,7 @@ const MsvcLibDir = struct {
|
|
|
1042
1042
|
const config_key = root_key.open(config_path) catch continue;
|
|
1043
1043
|
|
|
1044
1044
|
const source_directories_value = config_key.getString(gpa, .{ .name = L("Source Directories") }, .wtf8) catch |err| switch (err) {
|
|
1045
|
-
error.OutOfMemory => return
|
|
1045
|
+
error.OutOfMemory => |e| return e,
|
|
1046
1046
|
else => continue,
|
|
1047
1047
|
};
|
|
1048
1048
|
|
|
@@ -1064,7 +1064,7 @@ const MsvcLibDir = struct {
|
|
|
1064
1064
|
errdefer msvc_dir.deinit();
|
|
1065
1065
|
|
|
1066
1066
|
// String might contain trailing slash, so trim it here
|
|
1067
|
-
if (msvc_dir.items.len > "C:\\".len and msvc_dir.getLast() == '\\') _ = msvc_dir.pop();
|
|
1067
|
+
if (msvc_dir.items.len > "C:\\".len and msvc_dir.getLast().? == '\\') _ = msvc_dir.pop();
|
|
1068
1068
|
|
|
1069
1069
|
// Remove `\include` at the end of path
|
|
1070
1070
|
if (std.mem.endsWith(u8, msvc_dir.items, "\\include")) {
|
|
@@ -1108,7 +1108,7 @@ const MsvcLibDir = struct {
|
|
|
1108
1108
|
|
|
1109
1109
|
try list.appendSlice(VS140COMNTOOLS); // C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
|
|
1110
1110
|
// String might contain trailing slash, so trim it here
|
|
1111
|
-
if (list.items.len > "C:\\".len and list.getLast() == '\\') _ = list.pop();
|
|
1111
|
+
if (list.items.len > "C:\\".len and list.getLast().? == '\\') _ = list.pop();
|
|
1112
1112
|
list.shrinkRetainingCapacity(list.items.len - "\\Common7\\Tools".len); // C:\Program Files (x86)\Microsoft Visual Studio 14.0
|
|
1113
1113
|
break :base_path list;
|
|
1114
1114
|
}
|
|
@@ -1118,7 +1118,7 @@ const MsvcLibDir = struct {
|
|
|
1118
1118
|
defer vs7_key.close();
|
|
1119
1119
|
try_vs7_key: {
|
|
1120
1120
|
const path_maybe_with_trailing_slash = vs7_key.getString(gpa, .{ .name = L("14.0") }, .wtf8) catch |err| switch (err) {
|
|
1121
|
-
error.OutOfMemory => return
|
|
1121
|
+
error.OutOfMemory => |e| return e,
|
|
1122
1122
|
else => break :try_vs7_key,
|
|
1123
1123
|
};
|
|
1124
1124
|
|
|
@@ -1131,7 +1131,7 @@ const MsvcLibDir = struct {
|
|
|
1131
1131
|
errdefer path.deinit();
|
|
1132
1132
|
|
|
1133
1133
|
// String might contain trailing slash, so trim it here
|
|
1134
|
-
if (path.items.len > "C:\\".len and path.getLast() == '\\') _ = path.pop();
|
|
1134
|
+
if (path.items.len > "C:\\".len and path.getLast().? == '\\') _ = path.pop();
|
|
1135
1135
|
break :base_path path;
|
|
1136
1136
|
}
|
|
1137
1137
|
return error.PathNotFound;
|
|
@@ -1178,11 +1178,11 @@ const MsvcLibDir = struct {
|
|
|
1178
1178
|
environ_map: *const Environ.Map,
|
|
1179
1179
|
) error{ OutOfMemory, MsvcLibDirNotFound }![]const u8 {
|
|
1180
1180
|
const full_path = MsvcLibDir.findViaCOM(gpa, io, registry, arch, environ_map) catch |err1| switch (err1) {
|
|
1181
|
-
error.OutOfMemory => return
|
|
1181
|
+
error.OutOfMemory => |e| return e,
|
|
1182
1182
|
error.PathNotFound => MsvcLibDir.findViaRegistry(gpa, io, arch, environ_map) catch |err2| switch (err2) {
|
|
1183
|
-
error.OutOfMemory => return
|
|
1183
|
+
error.OutOfMemory => |e| return e,
|
|
1184
1184
|
error.PathNotFound => MsvcLibDir.findViaVs7Key(gpa, io, registry, arch, environ_map) catch |err3| switch (err3) {
|
|
1185
|
-
error.OutOfMemory => return
|
|
1185
|
+
error.OutOfMemory => |e| return e,
|
|
1186
1186
|
error.PathNotFound => return error.MsvcLibDirNotFound,
|
|
1187
1187
|
},
|
|
1188
1188
|
},
|
package/std/zig/Zir.zig
CHANGED
|
@@ -250,9 +250,6 @@ pub const Inst = struct {
|
|
|
250
250
|
/// Array concatenation. `a ++ b`
|
|
251
251
|
/// Uses the `pl_node` union field. Payload is `Bin`.
|
|
252
252
|
array_cat,
|
|
253
|
-
/// Array multiplication `a ** b`
|
|
254
|
-
/// Uses the `pl_node` union field. Payload is `ArrayMul`.
|
|
255
|
-
array_mul,
|
|
256
253
|
/// `[N]T` syntax. No source location provided.
|
|
257
254
|
/// Uses the `pl_node` union field. Payload is `Bin`. lhs is length, rhs is element type.
|
|
258
255
|
array_type,
|
|
@@ -597,13 +594,6 @@ pub const Inst = struct {
|
|
|
597
594
|
/// name is added to it.
|
|
598
595
|
/// Uses the `str_tok` union field.
|
|
599
596
|
ret_err_value,
|
|
600
|
-
/// A string name is provided which is an anonymous error set value.
|
|
601
|
-
/// If the current function has an inferred error set, the error given by the
|
|
602
|
-
/// name is added to it.
|
|
603
|
-
/// Results in the error code. Note that control flow is not diverted with
|
|
604
|
-
/// this instruction; a following 'ret' instruction will do the diversion.
|
|
605
|
-
/// Uses the `str_tok` union field.
|
|
606
|
-
ret_err_value_code,
|
|
607
597
|
/// Obtains a pointer to the return value.
|
|
608
598
|
/// Uses the `node` union field.
|
|
609
599
|
ret_ptr,
|
|
@@ -1016,9 +1006,6 @@ pub const Inst = struct {
|
|
|
1016
1006
|
/// Implements the `@max` builtin for 2 args.
|
|
1017
1007
|
/// Uses the `pl_node` union field with payload `Bin`
|
|
1018
1008
|
max,
|
|
1019
|
-
/// Implements the `@cImport` builtin.
|
|
1020
|
-
/// Uses the `pl_node` union field with payload `Block`.
|
|
1021
|
-
c_import,
|
|
1022
1009
|
|
|
1023
1010
|
/// Allocates stack local memory.
|
|
1024
1011
|
/// Uses the `un_node` union field. The operand is the type of the allocated object.
|
|
@@ -1069,9 +1056,6 @@ pub const Inst = struct {
|
|
|
1069
1056
|
/// A defer statement.
|
|
1070
1057
|
/// Uses the `defer` union field.
|
|
1071
1058
|
@"defer",
|
|
1072
|
-
/// An errdefer statement with a code.
|
|
1073
|
-
/// Uses the `err_defer_code` union field.
|
|
1074
|
-
defer_err_code,
|
|
1075
1059
|
|
|
1076
1060
|
/// Requests that Sema update the saved error return trace index for the enclosing
|
|
1077
1061
|
/// block, if the operand is .none or of an error/error-union type.
|
|
@@ -1115,7 +1099,6 @@ pub const Inst = struct {
|
|
|
1115
1099
|
.alloc_inferred_comptime_mut,
|
|
1116
1100
|
.make_ptr_const,
|
|
1117
1101
|
.array_cat,
|
|
1118
|
-
.array_mul,
|
|
1119
1102
|
.array_type,
|
|
1120
1103
|
.array_type_sentinel,
|
|
1121
1104
|
.reify_int,
|
|
@@ -1297,16 +1280,13 @@ pub const Inst = struct {
|
|
|
1297
1280
|
.memset,
|
|
1298
1281
|
.memmove,
|
|
1299
1282
|
.min,
|
|
1300
|
-
.c_import,
|
|
1301
1283
|
.@"resume",
|
|
1302
|
-
.ret_err_value_code,
|
|
1303
1284
|
.extended,
|
|
1304
1285
|
.ret_ptr,
|
|
1305
1286
|
.ret_type,
|
|
1306
1287
|
.@"try",
|
|
1307
1288
|
.try_ptr,
|
|
1308
1289
|
.@"defer",
|
|
1309
|
-
.defer_err_code,
|
|
1310
1290
|
.save_err_ret_index,
|
|
1311
1291
|
.for_len,
|
|
1312
1292
|
.opt_eu_base_ptr_init,
|
|
@@ -1381,7 +1361,6 @@ pub const Inst = struct {
|
|
|
1381
1361
|
.memmove,
|
|
1382
1362
|
.check_comptime_control_flow,
|
|
1383
1363
|
.@"defer",
|
|
1384
|
-
.defer_err_code,
|
|
1385
1364
|
.save_err_ret_index,
|
|
1386
1365
|
.restore_err_ret_index_unconditional,
|
|
1387
1366
|
.restore_err_ret_index_fn_entry,
|
|
@@ -1413,7 +1392,6 @@ pub const Inst = struct {
|
|
|
1413
1392
|
.resolve_inferred_alloc,
|
|
1414
1393
|
.make_ptr_const,
|
|
1415
1394
|
.array_cat,
|
|
1416
|
-
.array_mul,
|
|
1417
1395
|
.array_type,
|
|
1418
1396
|
.array_type_sentinel,
|
|
1419
1397
|
.reify_int,
|
|
@@ -1577,9 +1555,7 @@ pub const Inst = struct {
|
|
|
1577
1555
|
.builtin_call,
|
|
1578
1556
|
.max,
|
|
1579
1557
|
.min,
|
|
1580
|
-
.c_import,
|
|
1581
1558
|
.@"resume",
|
|
1582
|
-
.ret_err_value_code,
|
|
1583
1559
|
.@"break",
|
|
1584
1560
|
.break_inline,
|
|
1585
1561
|
.condbr,
|
|
@@ -1649,7 +1625,6 @@ pub const Inst = struct {
|
|
|
1649
1625
|
.param_anytype = .str_tok,
|
|
1650
1626
|
.param_anytype_comptime = .str_tok,
|
|
1651
1627
|
.array_cat = .pl_node,
|
|
1652
|
-
.array_mul = .pl_node,
|
|
1653
1628
|
.array_type = .pl_node,
|
|
1654
1629
|
.array_type_sentinel = .pl_node,
|
|
1655
1630
|
.reify_int = .pl_node,
|
|
@@ -1737,7 +1712,6 @@ pub const Inst = struct {
|
|
|
1737
1712
|
.ret_load = .un_node,
|
|
1738
1713
|
.ret_implicit = .un_tok,
|
|
1739
1714
|
.ret_err_value = .str_tok,
|
|
1740
|
-
.ret_err_value_code = .str_tok,
|
|
1741
1715
|
.ret_ptr = .node,
|
|
1742
1716
|
.ret_type = .node,
|
|
1743
1717
|
.ptr_type = .ptr_type,
|
|
@@ -1857,7 +1831,6 @@ pub const Inst = struct {
|
|
|
1857
1831
|
.memset = .pl_node,
|
|
1858
1832
|
.memmove = .pl_node,
|
|
1859
1833
|
.min = .pl_node,
|
|
1860
|
-
.c_import = .pl_node,
|
|
1861
1834
|
|
|
1862
1835
|
.alloc = .un_node,
|
|
1863
1836
|
.alloc_mut = .un_node,
|
|
@@ -1872,7 +1845,6 @@ pub const Inst = struct {
|
|
|
1872
1845
|
.@"resume" = .un_node,
|
|
1873
1846
|
|
|
1874
1847
|
.@"defer" = .@"defer",
|
|
1875
|
-
.defer_err_code = .defer_err_code,
|
|
1876
1848
|
|
|
1877
1849
|
.save_err_ret_index = .save_err_ret_index,
|
|
1878
1850
|
.restore_err_ret_index_unconditional = .un_node,
|
|
@@ -2018,12 +1990,6 @@ pub const Inst = struct {
|
|
|
2018
1990
|
/// `small` is unused.
|
|
2019
1991
|
round_op_ty,
|
|
2020
1992
|
/// `operand` is payload index to `UnNode`.
|
|
2021
|
-
c_undef,
|
|
2022
|
-
/// `operand` is payload index to `UnNode`.
|
|
2023
|
-
c_include,
|
|
2024
|
-
/// `operand` is payload index to `BinNode`.
|
|
2025
|
-
c_define,
|
|
2026
|
-
/// `operand` is payload index to `UnNode`.
|
|
2027
1993
|
wasm_memory_size,
|
|
2028
1994
|
/// `operand` is payload index to `BinNode`.
|
|
2029
1995
|
wasm_memory_grow,
|
|
@@ -2153,10 +2119,10 @@ pub const Inst = struct {
|
|
|
2153
2119
|
/// Guaranteed to not have the `ptr_cast` flag.
|
|
2154
2120
|
/// Uses the `pl_node` union field with payload `FieldParentPtr`.
|
|
2155
2121
|
field_parent_ptr,
|
|
2156
|
-
/// Get a type or value from `std.
|
|
2122
|
+
/// Get a type or value from `std.lang`.
|
|
2157
2123
|
/// `operand` is `src_node: Ast.Node.Offset`.
|
|
2158
|
-
/// `small` is an `Inst.
|
|
2159
|
-
|
|
2124
|
+
/// `small` is an `Inst.StdLangValue`.
|
|
2125
|
+
std_lang_value,
|
|
2160
2126
|
/// Provide a `@branchHint` for the current block.
|
|
2161
2127
|
/// `operand` is payload index to `UnNode`.
|
|
2162
2128
|
/// `small` is unused.
|
|
@@ -2225,7 +2191,6 @@ pub const Inst = struct {
|
|
|
2225
2191
|
/// and `[]Ref`.
|
|
2226
2192
|
pub const Ref = enum(u32) {
|
|
2227
2193
|
u0_type,
|
|
2228
|
-
i0_type,
|
|
2229
2194
|
u1_type,
|
|
2230
2195
|
u8_type,
|
|
2231
2196
|
i8_type,
|
|
@@ -2453,7 +2418,7 @@ pub const Inst = struct {
|
|
|
2453
2418
|
has_bit_range: bool,
|
|
2454
2419
|
_: u1 = 0,
|
|
2455
2420
|
},
|
|
2456
|
-
size: std.
|
|
2421
|
+
size: std.lang.Type.Pointer.Size,
|
|
2457
2422
|
/// Index into extra. See `PtrType`.
|
|
2458
2423
|
payload_index: u32,
|
|
2459
2424
|
},
|
|
@@ -2461,7 +2426,7 @@ pub const Inst = struct {
|
|
|
2461
2426
|
/// Offset from Decl AST node index.
|
|
2462
2427
|
/// `Tag` determines which kind of AST node this points to.
|
|
2463
2428
|
src_node: Ast.Node.Offset,
|
|
2464
|
-
signedness: std.
|
|
2429
|
+
signedness: std.lang.Signedness,
|
|
2465
2430
|
bit_count: u16,
|
|
2466
2431
|
},
|
|
2467
2432
|
@"unreachable": struct {
|
|
@@ -2496,10 +2461,6 @@ pub const Inst = struct {
|
|
|
2496
2461
|
index: u32,
|
|
2497
2462
|
len: u32,
|
|
2498
2463
|
},
|
|
2499
|
-
defer_err_code: struct {
|
|
2500
|
-
err_code: Ref,
|
|
2501
|
-
payload_index: u32,
|
|
2502
|
-
},
|
|
2503
2464
|
save_err_ret_index: struct {
|
|
2504
2465
|
operand: Ref, // If error type (or .none), save new trace index
|
|
2505
2466
|
},
|
|
@@ -2550,7 +2511,6 @@ pub const Inst = struct {
|
|
|
2550
2511
|
inst_node,
|
|
2551
2512
|
str_op,
|
|
2552
2513
|
@"defer",
|
|
2553
|
-
defer_err_code,
|
|
2554
2514
|
save_err_ret_index,
|
|
2555
2515
|
elem_val_imm,
|
|
2556
2516
|
declaration,
|
|
@@ -3091,7 +3051,7 @@ pub const Inst = struct {
|
|
|
3091
3051
|
callee: Ref,
|
|
3092
3052
|
|
|
3093
3053
|
pub const Flags = packed struct {
|
|
3094
|
-
/// std.
|
|
3054
|
+
/// std.lang.CallModifier in packed form
|
|
3095
3055
|
pub const PackedModifier = u3;
|
|
3096
3056
|
pub const PackedArgsLen = u27;
|
|
3097
3057
|
|
|
@@ -3103,7 +3063,7 @@ pub const Inst = struct {
|
|
|
3103
3063
|
comptime {
|
|
3104
3064
|
if (@sizeOf(Flags) != 4 or @bitSizeOf(Flags) != 32)
|
|
3105
3065
|
@compileError("Layout of Call.Flags needs to be updated!");
|
|
3106
|
-
if (@bitSizeOf(std.
|
|
3066
|
+
if (@bitSizeOf(std.lang.CallModifier) != @bitSizeOf(PackedModifier))
|
|
3107
3067
|
@compileError("Call.Flags.PackedModifier needs to be updated!");
|
|
3108
3068
|
}
|
|
3109
3069
|
};
|
|
@@ -3226,7 +3186,7 @@ pub const Inst = struct {
|
|
|
3226
3186
|
|
|
3227
3187
|
pub const ReifySliceArgInfo = enum(u16) {
|
|
3228
3188
|
/// Input element type is `type`.
|
|
3229
|
-
/// Output element type is `std.
|
|
3189
|
+
/// Output element type is `std.lang.Type.Fn.Param.Attributes`.
|
|
3230
3190
|
type_to_fn_param_attrs,
|
|
3231
3191
|
/// Input element type is `[]const u8`.
|
|
3232
3192
|
/// Output element type is `type`.
|
|
@@ -3234,10 +3194,10 @@ pub const Inst = struct {
|
|
|
3234
3194
|
/// Identical to `string_to_struct_field_type` aside from emitting slightly different error messages.
|
|
3235
3195
|
string_to_union_field_type,
|
|
3236
3196
|
/// Input element type is `[]const u8`.
|
|
3237
|
-
/// Output element type is `std.
|
|
3197
|
+
/// Output element type is `std.lang.Type.StructField.Attributes`.
|
|
3238
3198
|
string_to_struct_field_attrs,
|
|
3239
3199
|
/// Input element type is `[]const u8`.
|
|
3240
|
-
/// Output element type is `std.
|
|
3200
|
+
/// Output element type is `std.lang.Type.UnionField.Attributes`.
|
|
3241
3201
|
string_to_union_field_attrs,
|
|
3242
3202
|
};
|
|
3243
3203
|
|
|
@@ -3508,7 +3468,7 @@ pub const Inst = struct {
|
|
|
3508
3468
|
has_decls_len: bool,
|
|
3509
3469
|
has_fields_len: bool,
|
|
3510
3470
|
name_strategy: NameStrategy,
|
|
3511
|
-
layout: std.
|
|
3471
|
+
layout: std.lang.Type.ContainerLayout,
|
|
3512
3472
|
/// Always `false` if `layout != .@"packed"`.
|
|
3513
3473
|
has_backing_int_type: bool,
|
|
3514
3474
|
any_field_aligns: bool,
|
|
@@ -3604,7 +3564,7 @@ pub const Inst = struct {
|
|
|
3604
3564
|
}
|
|
3605
3565
|
};
|
|
3606
3566
|
|
|
3607
|
-
pub const
|
|
3567
|
+
pub const StdLangValue = enum(u16) {
|
|
3608
3568
|
// Types
|
|
3609
3569
|
atomic_order,
|
|
3610
3570
|
atomic_rmw_op,
|
|
@@ -3728,7 +3688,7 @@ pub const Inst = struct {
|
|
|
3728
3688
|
};
|
|
3729
3689
|
}
|
|
3730
3690
|
|
|
3731
|
-
pub fn layout(k: Kind) std.
|
|
3691
|
+
pub fn layout(k: Kind) std.lang.Type.ContainerLayout {
|
|
3732
3692
|
return switch (k) {
|
|
3733
3693
|
.auto, .tagged_explicit, .tagged_enum, .tagged_enum_explicit => .auto,
|
|
3734
3694
|
.@"extern" => .@"extern",
|
|
@@ -3986,12 +3946,6 @@ pub const Inst = struct {
|
|
|
3986
3946
|
column: u32,
|
|
3987
3947
|
};
|
|
3988
3948
|
|
|
3989
|
-
pub const DeferErrCode = struct {
|
|
3990
|
-
remapped_err_code: Index,
|
|
3991
|
-
index: u32,
|
|
3992
|
-
len: u32,
|
|
3993
|
-
};
|
|
3994
|
-
|
|
3995
3949
|
pub const ValidateDestructure = struct {
|
|
3996
3950
|
/// The value being destructured.
|
|
3997
3951
|
operand: Ref,
|
|
@@ -4001,15 +3955,6 @@ pub const Inst = struct {
|
|
|
4001
3955
|
expect_len: u32,
|
|
4002
3956
|
};
|
|
4003
3957
|
|
|
4004
|
-
pub const ArrayMul = struct {
|
|
4005
|
-
/// The result type of the array multiplication operation, or `.none` if none was available.
|
|
4006
|
-
res_ty: Ref,
|
|
4007
|
-
/// The LHS of the array multiplication.
|
|
4008
|
-
lhs: Ref,
|
|
4009
|
-
/// The RHS of the array multiplication.
|
|
4010
|
-
rhs: Ref,
|
|
4011
|
-
};
|
|
4012
|
-
|
|
4013
3958
|
pub const RestoreErrRetIndex = struct {
|
|
4014
3959
|
src_node: Ast.Node.Offset,
|
|
4015
3960
|
/// If `.none`, restore the trace to its state upon function entry.
|
|
@@ -4033,30 +3978,30 @@ pub const DeclContents = struct {
|
|
|
4033
3978
|
/// This is a simple optional because ZIR guarantees that a `func`/`func_inferred`/`func_fancy` instruction
|
|
4034
3979
|
/// can only occur once per `declaration`.
|
|
4035
3980
|
func_decl: ?Inst.Index,
|
|
4036
|
-
|
|
3981
|
+
type_decls: std.ArrayList(Inst.Index),
|
|
4037
3982
|
other: std.ArrayList(Inst.Index),
|
|
4038
3983
|
|
|
4039
3984
|
pub const init: DeclContents = .{
|
|
4040
3985
|
.func_decl = null,
|
|
4041
|
-
.
|
|
3986
|
+
.type_decls = .empty,
|
|
4042
3987
|
.other = .empty,
|
|
4043
3988
|
};
|
|
4044
3989
|
|
|
4045
3990
|
pub fn clear(contents: *DeclContents) void {
|
|
4046
3991
|
contents.func_decl = null;
|
|
4047
|
-
contents.
|
|
3992
|
+
contents.type_decls.clearRetainingCapacity();
|
|
4048
3993
|
contents.other.clearRetainingCapacity();
|
|
4049
3994
|
}
|
|
4050
3995
|
|
|
4051
3996
|
pub fn deinit(contents: *DeclContents, gpa: Allocator) void {
|
|
4052
|
-
contents.
|
|
3997
|
+
contents.type_decls.deinit(gpa);
|
|
4053
3998
|
contents.other.deinit(gpa);
|
|
4054
3999
|
}
|
|
4055
4000
|
};
|
|
4056
4001
|
|
|
4057
4002
|
/// Find all tracked ZIR instructions, recursively, within a `declaration` instruction. Does not recurse through
|
|
4058
4003
|
/// nested declarations; to find all declarations, call this function recursively on the type declarations discovered
|
|
4059
|
-
/// in `contents.
|
|
4004
|
+
/// in `contents.type_decls`.
|
|
4060
4005
|
///
|
|
4061
4006
|
/// This populates an `ArrayList` because an iterator would need to allocate memory anyway.
|
|
4062
4007
|
pub fn findTrackable(zir: Zir, gpa: Allocator, contents: *DeclContents, decl_inst: Zir.Inst.Index) !void {
|
|
@@ -4076,15 +4021,49 @@ pub fn findTrackable(zir: Zir, gpa: Allocator, contents: *DeclContents, decl_ins
|
|
|
4076
4021
|
if (decl.value_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4077
4022
|
}
|
|
4078
4023
|
|
|
4079
|
-
///
|
|
4080
|
-
///
|
|
4081
|
-
pub fn
|
|
4024
|
+
/// `findTrackable` does not recurse into field expressions in a type. Instead, this function will
|
|
4025
|
+
/// scan specifically field expressions in a given type declaration for trackable ZIR instructions.
|
|
4026
|
+
pub fn findTrackableFields(
|
|
4027
|
+
zir: *const Zir,
|
|
4028
|
+
gpa: Allocator,
|
|
4029
|
+
contents: *DeclContents,
|
|
4030
|
+
type_decl_inst: Zir.Inst.Index,
|
|
4031
|
+
) Allocator.Error!void {
|
|
4082
4032
|
contents.clear();
|
|
4083
4033
|
|
|
4084
4034
|
var found_defers: std.AutoHashMapUnmanaged(u32, void) = .empty;
|
|
4085
4035
|
defer found_defers.deinit(gpa);
|
|
4086
4036
|
|
|
4087
|
-
|
|
4037
|
+
assert(zir.instructions.items(.tag)[@intFromEnum(type_decl_inst)] == .extended);
|
|
4038
|
+
switch (zir.instructions.items(.data)[@intFromEnum(type_decl_inst)].extended.opcode) {
|
|
4039
|
+
.struct_decl => {
|
|
4040
|
+
const struct_decl = zir.getStructDecl(type_decl_inst);
|
|
4041
|
+
var it = struct_decl.iterateFields();
|
|
4042
|
+
while (it.next()) |field| {
|
|
4043
|
+
try zir.findTrackableBody(gpa, contents, &found_defers, field.type_body);
|
|
4044
|
+
if (field.align_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4045
|
+
if (field.default_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4046
|
+
}
|
|
4047
|
+
},
|
|
4048
|
+
.union_decl => {
|
|
4049
|
+
const union_decl = zir.getUnionDecl(type_decl_inst);
|
|
4050
|
+
var it = union_decl.iterateFields();
|
|
4051
|
+
while (it.next()) |field| {
|
|
4052
|
+
if (field.type_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4053
|
+
if (field.align_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4054
|
+
if (field.value_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4055
|
+
}
|
|
4056
|
+
},
|
|
4057
|
+
.enum_decl => {
|
|
4058
|
+
const enum_decl = zir.getEnumDecl(type_decl_inst);
|
|
4059
|
+
var it = enum_decl.iterateFields();
|
|
4060
|
+
while (it.next()) |field| {
|
|
4061
|
+
if (field.value_body) |b| try zir.findTrackableBody(gpa, contents, &found_defers, b);
|
|
4062
|
+
}
|
|
4063
|
+
},
|
|
4064
|
+
.opaque_decl => {},
|
|
4065
|
+
else => unreachable,
|
|
4066
|
+
}
|
|
4088
4067
|
}
|
|
4089
4068
|
|
|
4090
4069
|
fn findTrackableInner(
|
|
@@ -4127,7 +4106,6 @@ fn findTrackableInner(
|
|
|
4127
4106
|
.param_anytype,
|
|
4128
4107
|
.param_anytype_comptime,
|
|
4129
4108
|
.array_cat,
|
|
4130
|
-
.array_mul,
|
|
4131
4109
|
.array_type,
|
|
4132
4110
|
.array_type_sentinel,
|
|
4133
4111
|
.reify_int,
|
|
@@ -4200,7 +4178,6 @@ fn findTrackableInner(
|
|
|
4200
4178
|
.ret_load,
|
|
4201
4179
|
.ret_implicit,
|
|
4202
4180
|
.ret_err_value,
|
|
4203
|
-
.ret_err_value_code,
|
|
4204
4181
|
.ret_ptr,
|
|
4205
4182
|
.ret_type,
|
|
4206
4183
|
.ptr_type,
|
|
@@ -4360,9 +4337,6 @@ fn findTrackableInner(
|
|
|
4360
4337
|
.mul_with_overflow,
|
|
4361
4338
|
.shl_with_overflow,
|
|
4362
4339
|
.round_op,
|
|
4363
|
-
.c_undef,
|
|
4364
|
-
.c_include,
|
|
4365
|
-
.c_define,
|
|
4366
4340
|
.wasm_memory_size,
|
|
4367
4341
|
.wasm_memory_grow,
|
|
4368
4342
|
.prefetch,
|
|
@@ -4394,7 +4368,7 @@ fn findTrackableInner(
|
|
|
4394
4368
|
.restore_err_ret_index,
|
|
4395
4369
|
.closure_get,
|
|
4396
4370
|
.field_parent_ptr,
|
|
4397
|
-
.
|
|
4371
|
+
.std_lang_value,
|
|
4398
4372
|
.branch_hint,
|
|
4399
4373
|
.inplace_arith_result_ty,
|
|
4400
4374
|
.tuple_decl,
|
|
@@ -4411,49 +4385,18 @@ fn findTrackableInner(
|
|
|
4411
4385
|
try zir.findTrackableBody(gpa, contents, defers, body);
|
|
4412
4386
|
},
|
|
4413
4387
|
|
|
4414
|
-
// Reifications
|
|
4388
|
+
// Reifications need tracking.
|
|
4415
4389
|
.reify_enum,
|
|
4416
4390
|
.reify_struct,
|
|
4417
4391
|
.reify_union,
|
|
4418
|
-
.opaque_decl,
|
|
4419
4392
|
=> return contents.other.append(gpa, inst),
|
|
4420
4393
|
|
|
4421
|
-
//
|
|
4422
|
-
.struct_decl
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
while (it.next()) |field| {
|
|
4428
|
-
try zir.findTrackableBody(gpa, contents, defers, field.type_body);
|
|
4429
|
-
if (field.align_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4430
|
-
if (field.default_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4431
|
-
}
|
|
4432
|
-
},
|
|
4433
|
-
|
|
4434
|
-
// Union declarations need tracking and have bodies.
|
|
4435
|
-
.union_decl => {
|
|
4436
|
-
try contents.explicit_types.append(gpa, inst);
|
|
4437
|
-
|
|
4438
|
-
const union_decl = zir.getUnionDecl(inst);
|
|
4439
|
-
var it = union_decl.iterateFields();
|
|
4440
|
-
while (it.next()) |field| {
|
|
4441
|
-
if (field.type_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4442
|
-
if (field.align_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4443
|
-
if (field.value_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4444
|
-
}
|
|
4445
|
-
},
|
|
4446
|
-
|
|
4447
|
-
// Enum declarations need tracking and have bodies.
|
|
4448
|
-
.enum_decl => {
|
|
4449
|
-
try contents.explicit_types.append(gpa, inst);
|
|
4450
|
-
|
|
4451
|
-
const enum_decl = zir.getEnumDecl(inst);
|
|
4452
|
-
var it = enum_decl.iterateFields();
|
|
4453
|
-
while (it.next()) |field| {
|
|
4454
|
-
if (field.value_body) |b| try zir.findTrackableBody(gpa, contents, defers, b);
|
|
4455
|
-
}
|
|
4456
|
-
},
|
|
4394
|
+
// Type declarations need tracking.
|
|
4395
|
+
.struct_decl,
|
|
4396
|
+
.union_decl,
|
|
4397
|
+
.enum_decl,
|
|
4398
|
+
.opaque_decl,
|
|
4399
|
+
=> return contents.type_decls.append(gpa, inst),
|
|
4457
4400
|
}
|
|
4458
4401
|
},
|
|
4459
4402
|
|
|
@@ -4532,7 +4475,6 @@ fn findTrackableInner(
|
|
|
4532
4475
|
|
|
4533
4476
|
.block,
|
|
4534
4477
|
.block_inline,
|
|
4535
|
-
.c_import,
|
|
4536
4478
|
.typeof_builtin,
|
|
4537
4479
|
.loop,
|
|
4538
4480
|
=> {
|
|
@@ -4634,15 +4576,6 @@ fn findTrackableInner(
|
|
|
4634
4576
|
try zir.findTrackableBody(gpa, contents, defers, body);
|
|
4635
4577
|
}
|
|
4636
4578
|
},
|
|
4637
|
-
.defer_err_code => {
|
|
4638
|
-
const inst_data = datas[@intFromEnum(inst)].defer_err_code;
|
|
4639
|
-
const extra = zir.extraData(Inst.DeferErrCode, inst_data.payload_index).data;
|
|
4640
|
-
const gop = try defers.getOrPut(gpa, extra.index);
|
|
4641
|
-
if (!gop.found_existing) {
|
|
4642
|
-
const body = zir.bodySlice(extra.index, extra.len);
|
|
4643
|
-
try zir.findTrackableBody(gpa, contents, defers, body);
|
|
4644
|
-
}
|
|
4645
|
-
},
|
|
4646
4579
|
}
|
|
4647
4580
|
}
|
|
4648
4581
|
|
|
@@ -5353,7 +5286,7 @@ pub const UnwrappedStructDecl = struct {
|
|
|
5353
5286
|
|
|
5354
5287
|
decls: []const Inst.Index,
|
|
5355
5288
|
|
|
5356
|
-
layout: std.
|
|
5289
|
+
layout: std.lang.Type.ContainerLayout,
|
|
5357
5290
|
backing_int_type_body: ?[]const Inst.Index,
|
|
5358
5291
|
|
|
5359
5292
|
field_names: []const NullTerminatedString,
|