@zigc/lib 0.17.0-dev.76 → 0.17.0-dev.813
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/fcntl.zig +5 -0
- package/c/math.zig +41 -2
- package/c/pthread.zig +57 -0
- package/c/stdlib.zig +32 -22
- package/c/string.zig +20 -0
- package/c/unistd.zig +1 -0
- package/c/wchar.zig +10 -0
- package/c.zig +1 -0
- package/{std/Build → compiler/Maker}/Fuzz.zig +177 -89
- package/compiler/Maker/Graph.zig +85 -0
- package/compiler/Maker/PkgConfig.zig +122 -0
- package/compiler/Maker/ScannedConfig.zig +372 -0
- package/compiler/Maker/Step/CheckFile.zig +63 -0
- package/compiler/Maker/Step/Compile.zig +1388 -0
- package/compiler/Maker/Step/ConfigHeader.zig +610 -0
- package/compiler/Maker/Step/FindProgram.zig +120 -0
- package/compiler/Maker/Step/Fmt.zig +65 -0
- package/compiler/Maker/Step/InstallArtifact.zig +141 -0
- package/compiler/Maker/Step/InstallDir.zig +99 -0
- package/compiler/Maker/Step/InstallFile.zig +26 -0
- package/compiler/Maker/Step/ObjCopy.zig +173 -0
- package/compiler/Maker/Step/Options.zig +104 -0
- package/compiler/Maker/Step/Run.zig +2390 -0
- package/compiler/Maker/Step/TranslateC.zig +157 -0
- package/compiler/Maker/Step/UpdateSourceFiles.zig +89 -0
- package/compiler/Maker/Step/WriteFile.zig +294 -0
- package/compiler/Maker/Step.zig +894 -0
- package/{std/Build → compiler/Maker}/Watch/FsEvents.zig +36 -26
- package/{std/Build → compiler/Maker}/Watch.zig +89 -68
- package/{std/Build → compiler/Maker}/WebServer.zig +145 -118
- package/compiler/Maker.zig +2061 -0
- package/compiler/aro/aro/Attribute.zig +52 -51
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +22 -22
- package/compiler/aro/aro/Diagnostics.zig +7 -7
- package/compiler/aro/aro/Driver.zig +18 -16
- package/compiler/aro/aro/Parser.zig +22 -17
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +11 -8
- package/compiler/aro/aro/Tree.zig +11 -11
- package/compiler/aro/aro/features.zig +4 -4
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +5 -4
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/aro/backend/Interner.zig +14 -13
- package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
- package/compiler/configurer.zig +1402 -0
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/bmp.zig +3 -2
- package/compiler/resinator/code_pages.zig +14 -12
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +15 -14
- package/compiler/resinator/errors.zig +25 -29
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/lang.zig +7 -7
- package/compiler/resinator/parse.zig +3 -3
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +17 -38
- package/compiler/test_runner.zig +25 -15
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +2 -2
- package/compiler/translate-c/ast.zig +22 -29
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -1
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +2 -2
- package/compiler_rt/divsf3.zig +1 -1
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -1
- package/compiler_rt/float_from_int.zig +4 -5
- package/compiler_rt/fmax.zig +1 -1
- package/compiler_rt/fmin.zig +1 -1
- package/compiler_rt/fmod.zig +2 -2
- package/compiler_rt/int_from_float.zig +1 -1
- package/compiler_rt/limb64.zig +3 -34
- package/compiler_rt/log.zig +230 -3
- package/compiler_rt/log10.zig +228 -3
- package/compiler_rt/log2.zig +221 -3
- package/compiler_rt/log_f128.zig +173 -0
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/sin.zig +1 -1
- package/compiler_rt/sincos.zig +1 -1
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -1
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/main.js +8 -8
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Document.zig +3 -3
- package/docs/wasm/markdown/Parser.zig +19 -23
- package/fuzzer.zig +5 -3
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/init/build.zig +1 -3
- package/libc/darwin/SDKSettings.json +1 -1
- package/libc/darwin/libSystem.tbd +88 -87
- package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/aarch64-netbsd-none/aarch64/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/aarch64/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/aarch64/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/aarch64/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/aarch64/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/aarch64/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/aarch64/vmparam.h +4 -4
- package/libc/include/aarch64-netbsd-none/machine/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/machine/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/machine/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/machine/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/machine/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/machine/vmparam.h +4 -4
- package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
- package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
- package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
- package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
- package/libc/include/any-darwin-any/mach/host_info.h +3 -1
- package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
- package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
- package/libc/include/any-darwin-any/spawn.h +3 -1
- package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
- package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
- package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
- package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
- package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
- package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
- package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
- package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
- package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
- package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
- package/libc/include/any-linux-any/linux/android/binder.h +1 -1
- package/libc/include/any-linux-any/linux/bpf.h +28 -0
- package/libc/include/any-linux-any/linux/btrfs.h +1 -0
- package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
- package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
- package/libc/include/any-linux-any/linux/dpll.h +1 -0
- package/libc/include/any-linux-any/linux/elf.h +2 -0
- package/libc/include/any-linux-any/linux/ethtool.h +21 -5
- package/libc/include/any-linux-any/linux/fs.h +1 -0
- package/libc/include/any-linux-any/linux/hyperv.h +1 -1
- package/libc/include/any-linux-any/linux/idxd.h +134 -134
- package/libc/include/any-linux-any/linux/if_alg.h +1 -1
- package/libc/include/any-linux-any/linux/if_link.h +1 -0
- package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
- package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
- package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
- package/libc/include/any-linux-any/linux/io_uring.h +33 -2
- package/libc/include/any-linux-any/linux/iommufd.h +39 -0
- package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
- package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
- package/libc/include/any-linux-any/linux/kvm.h +30 -6
- package/libc/include/any-linux-any/linux/landlock.h +22 -8
- package/libc/include/any-linux-any/linux/magic.h +1 -0
- package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
- package/libc/include/any-linux-any/linux/mount.h +11 -2
- package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
- package/libc/include/any-linux-any/linux/mshv.h +2 -0
- package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
- package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
- package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
- package/libc/include/any-linux-any/linux/nfs.h +1 -1
- package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
- package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
- package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
- package/libc/include/any-linux-any/linux/nl80211.h +104 -3
- package/libc/include/any-linux-any/linux/pci.h +7 -0
- package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
- package/libc/include/any-linux-any/linux/pcitest.h +1 -0
- package/libc/include/any-linux-any/linux/perf_event.h +24 -3
- package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
- package/libc/include/any-linux-any/linux/prctl.h +30 -0
- package/libc/include/any-linux-any/linux/rseq.h +62 -5
- package/libc/include/any-linux-any/linux/shm.h +0 -1
- package/libc/include/any-linux-any/linux/stddef.h +4 -0
- package/libc/include/any-linux-any/linux/sysctl.h +1 -2
- package/libc/include/any-linux-any/linux/taskstats.h +12 -1
- package/libc/include/any-linux-any/linux/tcp.h +23 -3
- package/libc/include/any-linux-any/linux/typelimits.h +8 -0
- package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
- package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
- package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
- package/libc/include/any-linux-any/linux/vduse.h +80 -5
- package/libc/include/any-linux-any/linux/version.h +3 -3
- package/libc/include/any-linux-any/linux/vfio.h +4 -0
- package/libc/include/any-linux-any/linux/videodev2.h +3 -0
- package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
- package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
- package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
- package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
- package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
- package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
- package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
- package/libc/include/arc-linux-any/asm/swab.h +0 -63
- package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
- package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
- package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
- package/libc/include/arm-netbsd-eabi/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/asm.h +48 -19
- package/libc/include/arm-netbsd-eabi/machine/byte_swap.h +121 -0
- package/libc/include/arm-netbsd-eabi/machine/cpu.h +1 -3
- package/libc/include/arm-netbsd-eabi/machine/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/lwp_private.h +81 -0
- package/libc/include/arm-netbsd-eabi/machine/mcontext.h +5 -51
- package/libc/include/arm-netbsd-eabi/machine/mutex.h +1 -1
- package/libc/include/arm-netbsd-eabi/machine/proc.h +2 -2
- package/libc/include/arm-netbsd-eabi/machine/profile.h +28 -96
- package/libc/include/arm-netbsd-eabi/machine/setjmp.h +7 -6
- package/libc/include/arm-netbsd-eabi/machine/sysarch.h +85 -0
- package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/generic-netbsd/altq/altq.h +2 -2
- package/libc/include/generic-netbsd/altq/altq_afmap.h +2 -1
- package/libc/include/generic-netbsd/altq/altq_classq.h +8 -6
- package/libc/include/generic-netbsd/altq/altq_jobs.h +37 -37
- package/libc/include/generic-netbsd/altq/altq_rmclass.h +8 -8
- package/libc/include/generic-netbsd/altq/altq_var.h +2 -2
- package/libc/include/generic-netbsd/arm/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/arm/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/arm/asm.h +48 -19
- package/libc/include/generic-netbsd/arm/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/arm/cpu.h +1 -3
- package/libc/include/generic-netbsd/arm/cputypes.h +12 -1
- package/libc/include/generic-netbsd/arm/float.h +2 -1
- package/libc/include/generic-netbsd/arm/lwp_private.h +81 -0
- package/libc/include/generic-netbsd/arm/mcontext.h +5 -51
- package/libc/include/generic-netbsd/arm/mutex.h +1 -1
- package/libc/include/generic-netbsd/arm/proc.h +2 -2
- package/libc/include/generic-netbsd/arm/profile.h +28 -96
- package/libc/include/generic-netbsd/arm/setjmp.h +7 -6
- package/libc/include/generic-netbsd/arpa/nameser.h +3 -3
- package/libc/include/generic-netbsd/arpa/nameser_compat.h +3 -3
- package/libc/include/generic-netbsd/assert.h +12 -22
- package/libc/include/generic-netbsd/bitstring.h +5 -5
- package/libc/include/generic-netbsd/cdbw.h +2 -2
- package/libc/include/generic-netbsd/crypto/cryptodev.h +99 -92
- package/libc/include/generic-netbsd/dev/i2c/emcfaninfo.h +234 -0
- package/libc/include/generic-netbsd/dev/i2c/emcfanreg.h +127 -0
- package/libc/include/generic-netbsd/dev/i2o/i2o.h +3 -366
- package/libc/include/generic-netbsd/dev/ic/hd44780var.h +3 -1
- package/libc/include/generic-netbsd/dev/ic/scmdreg.h +2 -2
- package/libc/include/generic-netbsd/dev/ic/stireg.h +777 -0
- package/libc/include/generic-netbsd/dev/ic/summitreg.h +214 -0
- package/libc/include/generic-netbsd/dev/iscsi/iscsi.h +1 -1
- package/libc/include/generic-netbsd/dev/pci/amrreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/mlyreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/pcidevs.h +177 -22
- package/libc/include/generic-netbsd/dev/pci/pcidevs_data.h +14971 -14588
- package/libc/include/generic-netbsd/dev/pci/pcireg.h +14 -14
- package/libc/include/generic-netbsd/dev/pckbc/pckbdreg.h +2 -1
- package/libc/include/generic-netbsd/dev/pcmcia/if_rayreg.h +2 -2
- package/libc/include/generic-netbsd/dev/raidframe/raidframeio.h +1 -1
- package/libc/include/generic-netbsd/dev/scsipi/scsi_disk.h +42 -7
- package/libc/include/generic-netbsd/dev/scsipi/scsi_spc.h +2 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipi_all.h +83 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipiconf.h +3 -1
- package/libc/include/generic-netbsd/dev/tc/sfbreg.h +3 -3
- package/libc/include/generic-netbsd/dev/tc/sticio.h +2 -2
- package/libc/include/generic-netbsd/dev/usb/umcpmio_hid_reports.h +499 -0
- package/libc/include/generic-netbsd/dev/usb/umcpmio_io.h +45 -0
- package/libc/include/generic-netbsd/dev/usb/usb.h +44 -6
- package/libc/include/generic-netbsd/dev/vndvar.h +2 -2
- package/libc/include/generic-netbsd/dev/wscons/wsconsio.h +19 -1
- package/libc/include/generic-netbsd/dev/wscons/wsksymdef.h +2 -2
- package/libc/include/generic-netbsd/dirent.h +1 -1
- package/libc/include/generic-netbsd/dlfcn.h +4 -2
- package/libc/include/generic-netbsd/elf.h +32 -20
- package/libc/include/generic-netbsd/elfdefinitions.h +1 -1
- package/libc/include/generic-netbsd/evbarm/intr.h +1 -1
- package/libc/include/generic-netbsd/evbmips/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/execinfo.h +4 -2
- package/libc/include/generic-netbsd/fcntl.h +26 -2
- package/libc/include/generic-netbsd/float.h +58 -2
- package/libc/include/generic-netbsd/fmtmsg.h +2 -2
- package/libc/include/generic-netbsd/fs/hfs/libhfs.h +1 -1
- package/libc/include/generic-netbsd/fs/nilfs/nilfs_fs.h +2 -2
- package/libc/include/generic-netbsd/gelf.h +2 -2
- package/libc/include/generic-netbsd/i386/asm.h +12 -4
- package/libc/include/generic-netbsd/i386/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/i386/cpu.h +15 -4
- package/libc/include/generic-netbsd/i386/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/i386/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/i386/mcontext.h +6 -24
- package/libc/include/generic-netbsd/i386/param.h +9 -1
- package/libc/include/generic-netbsd/i386/pcb.h +6 -2
- package/libc/include/generic-netbsd/i386/ptrace.h +2 -2
- package/libc/include/generic-netbsd/i386/types.h +2 -1
- package/libc/include/generic-netbsd/i386/wchar_limits.h +1 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_extern.h +6 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_mount.h +7 -1
- package/libc/include/generic-netbsd/langinfo.h +2 -1
- package/libc/include/generic-netbsd/lauxlib.h +1 -1
- package/libc/include/generic-netbsd/libelf.h +6 -15
- package/libc/include/generic-netbsd/limits.h +1 -1
- package/libc/include/generic-netbsd/lua.h +1 -1
- package/libc/include/generic-netbsd/luaconf.h +1 -1
- package/libc/include/generic-netbsd/lualib.h +1 -1
- package/libc/include/generic-netbsd/lwp.h +1 -1
- package/libc/include/generic-netbsd/machine/ansi.h +2 -2
- package/libc/include/generic-netbsd/machine/aout_machdep.h +39 -2
- package/libc/include/generic-netbsd/machine/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/machine/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/machine/asm.h +271 -2
- package/libc/include/generic-netbsd/machine/bswap.h +9 -1
- package/libc/include/generic-netbsd/machine/byte_swap.h +42 -64
- package/libc/include/generic-netbsd/machine/cdefs.h +7 -2
- package/libc/include/generic-netbsd/machine/cpu.h +207 -30
- package/libc/include/generic-netbsd/machine/cputypes.h +12 -1
- package/libc/include/generic-netbsd/machine/disklabel.h +41 -42
- package/libc/include/generic-netbsd/machine/elf_machdep.h +143 -2
- package/libc/include/generic-netbsd/machine/endian.h +1 -1
- package/libc/include/generic-netbsd/machine/fenv.h +35 -2
- package/libc/include/generic-netbsd/machine/float.h +58 -2
- package/libc/include/generic-netbsd/machine/frame.h +129 -2
- package/libc/include/generic-netbsd/machine/ieee.h +3 -2
- package/libc/include/generic-netbsd/machine/ieeefp.h +43 -2
- package/libc/include/generic-netbsd/machine/int_const.h +32 -2
- package/libc/include/generic-netbsd/machine/int_fmtio.h +380 -2
- package/libc/include/generic-netbsd/machine/int_limits.h +2 -2
- package/libc/include/generic-netbsd/machine/int_mwgwtypes.h +2 -2
- package/libc/include/generic-netbsd/machine/int_types.h +2 -2
- package/libc/include/generic-netbsd/machine/kcore.h +39 -2
- package/libc/include/generic-netbsd/machine/limits.h +2 -2
- package/libc/include/generic-netbsd/machine/lock.h +2 -2
- package/libc/include/generic-netbsd/machine/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/machine/math.h +3 -2
- package/libc/include/generic-netbsd/machine/mcontext.h +149 -2
- package/libc/include/generic-netbsd/machine/mutex.h +127 -2
- package/libc/include/generic-netbsd/machine/param.h +90 -23
- package/libc/include/generic-netbsd/machine/pcb.h +54 -2
- package/libc/include/generic-netbsd/machine/pmap.h +262 -2
- package/libc/include/generic-netbsd/machine/proc.h +75 -2
- package/libc/include/generic-netbsd/machine/profile.h +116 -2
- package/libc/include/generic-netbsd/machine/psl.h +2 -2
- package/libc/include/generic-netbsd/machine/pte.h +346 -2
- package/libc/include/generic-netbsd/machine/ptrace.h +62 -2
- package/libc/include/generic-netbsd/machine/reg.h +124 -2
- package/libc/include/generic-netbsd/machine/reloc.h +2 -2
- package/libc/include/generic-netbsd/machine/setjmp.h +69 -2
- package/libc/include/generic-netbsd/machine/signal.h +39 -2
- package/libc/include/generic-netbsd/machine/sljit_machdep.h +1 -1
- package/libc/include/generic-netbsd/machine/sysarch.h +2 -84
- package/libc/include/generic-netbsd/machine/sysreg.h +354 -0
- package/libc/include/generic-netbsd/machine/trap.h +2 -2
- package/libc/include/generic-netbsd/machine/types.h +118 -6
- package/libc/include/generic-netbsd/machine/vmparam.h +235 -2
- package/libc/include/generic-netbsd/machine/wchar_limits.h +2 -2
- package/libc/include/generic-netbsd/math.h +19 -6
- package/libc/include/generic-netbsd/md2.h +6 -3
- package/libc/include/generic-netbsd/mips/asm.h +69 -17
- package/libc/include/generic-netbsd/mips/bswap.h +3 -1
- package/libc/include/generic-netbsd/mips/cpu.h +7 -7
- package/libc/include/generic-netbsd/mips/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/mips/fenv.h +2 -1
- package/libc/include/generic-netbsd/mips/float.h +3 -2
- package/libc/include/generic-netbsd/mips/frame.h +3 -2
- package/libc/include/generic-netbsd/mips/limits.h +4 -13
- package/libc/include/generic-netbsd/mips/lwp_private.h +87 -0
- package/libc/include/generic-netbsd/mips/mcontext.h +2 -53
- package/libc/include/generic-netbsd/mips/mips3_pte.h +2 -2
- package/libc/include/generic-netbsd/mips/mips_param.h +16 -2
- package/libc/include/generic-netbsd/mips/mutex.h +1 -1
- package/libc/include/generic-netbsd/mips/types.h +1 -1
- package/libc/include/generic-netbsd/mips/vmparam.h +1 -1
- package/libc/include/generic-netbsd/miscfs/kernfs/kernfs.h +2 -2
- package/libc/include/generic-netbsd/miscfs/procfs/procfs.h +33 -2
- package/libc/include/generic-netbsd/miscfs/specfs/specdev.h +1 -2
- package/libc/include/generic-netbsd/monetary.h +2 -1
- package/libc/include/generic-netbsd/net/agr/if_agrioctl.h +2 -2
- package/libc/include/generic-netbsd/net/bpf.h +11 -4
- package/libc/include/generic-netbsd/net/bpfdesc.h +1 -1
- package/libc/include/generic-netbsd/net/dlt.h +222 -48
- package/libc/include/generic-netbsd/net/if.h +20 -5
- package/libc/include/generic-netbsd/net/if_bridgevar.h +2 -3
- package/libc/include/generic-netbsd/net/if_ether.h +4 -3
- package/libc/include/generic-netbsd/net/if_lagg.h +2 -2
- package/libc/include/generic-netbsd/net/if_media.h +2 -2
- package/libc/include/generic-netbsd/net/if_ppp.h +1 -3
- package/libc/include/generic-netbsd/net/if_stats.h +19 -5
- package/libc/include/generic-netbsd/net/net_stats.h +13 -6
- package/libc/include/generic-netbsd/net/npf.h +33 -5
- package/libc/include/generic-netbsd/net/pfkeyv2.h +1 -1
- package/libc/include/generic-netbsd/net/route.h +4 -4
- package/libc/include/generic-netbsd/net80211/ieee80211_node.h +3 -2
- package/libc/include/generic-netbsd/net80211/ieee80211_var.h +2 -2
- package/libc/include/generic-netbsd/netbt/hci.h +3 -3
- package/libc/include/generic-netbsd/netdb.h +2 -2
- package/libc/include/generic-netbsd/netinet/icmp6.h +6 -2
- package/libc/include/generic-netbsd/netinet/in.h +17 -17
- package/libc/include/generic-netbsd/netinet/in_var.h +5 -9
- package/libc/include/generic-netbsd/netinet/ip_mroute.h +24 -28
- package/libc/include/generic-netbsd/netinet/ip_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/sctp.h +4 -4
- package/libc/include/generic-netbsd/netinet/tcp_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/tcp_vtw.h +2 -2
- package/libc/include/generic-netbsd/netinet6/in6_var.h +7 -33
- package/libc/include/generic-netbsd/netinet6/ip6_var.h +2 -2
- package/libc/include/generic-netbsd/nfs/krpc.h +9 -4
- package/libc/include/generic-netbsd/nfs/nfs.h +5 -3
- package/libc/include/generic-netbsd/nfs/nfsdiskless.h +37 -20
- package/libc/include/generic-netbsd/nfs/nfsm_subs.h +4 -7
- package/libc/include/generic-netbsd/nfs/nfsmount.h +3 -4
- package/libc/include/generic-netbsd/nfs/nfsnode.h +9 -6
- package/libc/include/generic-netbsd/nfs/nfsproto.h +5 -2
- package/libc/include/generic-netbsd/nfs/nfsrtt.h +8 -4
- package/libc/include/generic-netbsd/nfs/nfsrvcache.h +9 -3
- package/libc/include/generic-netbsd/nfs/rpcv2.h +5 -3
- package/libc/include/generic-netbsd/nfs/xdr_subs.h +6 -5
- package/libc/include/generic-netbsd/nl_types.h +3 -1
- package/libc/include/generic-netbsd/ntfs/ntfs_inode.h +2 -2
- package/libc/include/generic-netbsd/poll.h +8 -2
- package/libc/include/generic-netbsd/prop/prop_object.h +48 -3
- package/libc/include/generic-netbsd/protocols/talkd.h +2 -2
- package/libc/include/generic-netbsd/pthread.h +51 -12
- package/libc/include/generic-netbsd/regex.h +2 -1
- package/libc/include/generic-netbsd/riscv/ansi.h +3 -0
- package/libc/include/generic-netbsd/riscv/aout_machdep.h +40 -0
- package/libc/include/generic-netbsd/riscv/asm.h +272 -0
- package/libc/include/generic-netbsd/riscv/bswap.h +11 -0
- package/libc/include/generic-netbsd/riscv/byte_swap.h +99 -0
- package/libc/include/generic-netbsd/riscv/cdefs.h +8 -0
- package/libc/include/generic-netbsd/riscv/cpu.h +242 -0
- package/libc/include/generic-netbsd/riscv/disklabel.h +68 -0
- package/libc/include/generic-netbsd/riscv/elf_machdep.h +144 -0
- package/libc/include/generic-netbsd/riscv/endian.h +3 -0
- package/libc/include/generic-netbsd/riscv/endian_machdep.h +3 -0
- package/libc/include/generic-netbsd/riscv/fenv.h +36 -0
- package/libc/include/generic-netbsd/riscv/float.h +59 -0
- package/libc/include/generic-netbsd/riscv/ieee.h +4 -0
- package/libc/include/generic-netbsd/riscv/ieeefp.h +44 -0
- package/libc/include/generic-netbsd/riscv/int_const.h +33 -0
- package/libc/include/generic-netbsd/riscv/int_fmtio.h +381 -0
- package/libc/include/generic-netbsd/riscv/int_limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_mwgwtypes.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_types.h +3 -0
- package/libc/include/generic-netbsd/riscv/kcore.h +40 -0
- package/libc/include/generic-netbsd/riscv/limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/lock.h +3 -0
- package/libc/include/generic-netbsd/riscv/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/riscv/math.h +4 -0
- package/libc/include/generic-netbsd/riscv/mcontext.h +150 -0
- package/libc/include/generic-netbsd/riscv/mutex.h +128 -0
- package/libc/include/generic-netbsd/riscv/param.h +110 -0
- package/libc/include/generic-netbsd/riscv/pcb.h +55 -0
- package/libc/include/generic-netbsd/riscv/pmap.h +263 -0
- package/libc/include/generic-netbsd/riscv/proc.h +76 -0
- package/libc/include/generic-netbsd/riscv/profile.h +117 -0
- package/libc/include/generic-netbsd/riscv/pte.h +347 -0
- package/libc/include/generic-netbsd/riscv/ptrace.h +63 -0
- package/libc/include/generic-netbsd/riscv/reg.h +125 -0
- package/libc/include/generic-netbsd/riscv/rwlock.h +1 -0
- package/libc/include/generic-netbsd/riscv/setjmp.h +70 -0
- package/libc/include/generic-netbsd/riscv/signal.h +40 -0
- package/libc/include/generic-netbsd/riscv/sysarch.h +3 -0
- package/libc/include/generic-netbsd/riscv/sysreg.h +354 -0
- package/libc/include/generic-netbsd/riscv/types.h +123 -0
- package/libc/include/generic-netbsd/riscv/vmparam.h +236 -0
- package/libc/include/generic-netbsd/riscv/wchar_limits.h +13 -0
- package/libc/include/generic-netbsd/rmd160.h +3 -3
- package/libc/include/generic-netbsd/rpc/xdr.h +3 -3
- package/libc/include/generic-netbsd/rpcsvc/yp_prot.h +3 -2
- package/libc/include/generic-netbsd/rump/rump_namei.h +2 -2
- package/libc/include/generic-netbsd/rump/rump_syscalls.h +4 -4
- package/libc/include/generic-netbsd/rump/rumpuser.h +6 -1
- package/libc/include/generic-netbsd/rump/rumpvnode_if.h +2 -2
- package/libc/include/generic-netbsd/sha1.h +3 -3
- package/libc/include/generic-netbsd/sha2.h +8 -1
- package/libc/include/generic-netbsd/signal.h +4 -4
- package/libc/include/generic-netbsd/sparc/asm.h +10 -1
- package/libc/include/generic-netbsd/sparc/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc/cgtworeg.h +2 -2
- package/libc/include/generic-netbsd/sparc/cpu.h +1 -1
- package/libc/include/generic-netbsd/sparc/float.h +3 -1
- package/libc/include/generic-netbsd/sparc/limits.h +4 -6
- package/libc/include/generic-netbsd/sparc/lwp_private.h +51 -0
- package/libc/include/generic-netbsd/sparc/mcontext.h +4 -22
- package/libc/include/generic-netbsd/sparc/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc/param.h +4 -2
- package/libc/include/generic-netbsd/sparc/pmap.h +2 -2
- package/libc/include/generic-netbsd/sparc/psl.h +6 -3
- package/libc/include/generic-netbsd/sparc/types.h +2 -2
- package/libc/include/generic-netbsd/sparc64/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc64/cpu.h +2 -2
- package/libc/include/generic-netbsd/sparc64/ctlreg.h +8 -7
- package/libc/include/generic-netbsd/sparc64/intr.h +1 -1
- package/libc/include/generic-netbsd/sparc64/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/sparc64/mcontext.h +4 -4
- package/libc/include/generic-netbsd/sparc64/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc64/param.h +8 -2
- package/libc/include/generic-netbsd/sparc64/psl.h +7 -2
- package/libc/include/generic-netbsd/sparc64/pte.h +2 -2
- package/libc/include/generic-netbsd/sparc64/vmparam.h +1 -1
- package/libc/include/generic-netbsd/ssp/ssp.h +16 -6
- package/libc/include/generic-netbsd/stdalign.h +3 -3
- package/libc/include/generic-netbsd/stdarg.h +2 -2
- package/libc/include/generic-netbsd/stddef.h +90 -12
- package/libc/include/generic-netbsd/stdlib.h +11 -2
- package/libc/include/generic-netbsd/stdnoreturn.h +2 -2
- package/libc/include/generic-netbsd/string.h +66 -39
- package/libc/include/generic-netbsd/strings.h +17 -3
- package/libc/include/generic-netbsd/sys/atomic.h +10 -5
- package/libc/include/generic-netbsd/sys/bitops.h +2 -2
- package/libc/include/generic-netbsd/sys/bootblock.h +13 -2
- package/libc/include/generic-netbsd/sys/bswap.h +46 -20
- package/libc/include/generic-netbsd/sys/buf.h +3 -3
- package/libc/include/generic-netbsd/sys/cdefs.h +44 -6
- package/libc/include/generic-netbsd/sys/cdefs_aout.h +8 -1
- package/libc/include/generic-netbsd/sys/cdefs_elf.h +9 -2
- package/libc/include/generic-netbsd/sys/chio.h +2 -2
- package/libc/include/generic-netbsd/sys/clock.h +5 -1
- package/libc/include/generic-netbsd/sys/common_limits.h +3 -1
- package/libc/include/generic-netbsd/sys/condvar.h +1 -1
- package/libc/include/generic-netbsd/sys/conf.h +4 -3
- package/libc/include/generic-netbsd/sys/container_of.h +75 -0
- package/libc/include/generic-netbsd/sys/device.h +20 -13
- package/libc/include/generic-netbsd/sys/disk.h +8 -1
- package/libc/include/generic-netbsd/sys/disklabel.h +2 -2
- package/libc/include/generic-netbsd/sys/disklabel_gpt.h +7 -1
- package/libc/include/generic-netbsd/sys/efiio.h +1 -1
- package/libc/include/generic-netbsd/sys/elfdefinitions.h +2368 -1591
- package/libc/include/generic-netbsd/sys/endian.h +17 -17
- package/libc/include/generic-netbsd/sys/evcnt.h +15 -2
- package/libc/include/generic-netbsd/sys/event.h +3 -2
- package/libc/include/generic-netbsd/sys/exec.h +2 -2
- package/libc/include/generic-netbsd/sys/exec_elf.h +32 -20
- package/libc/include/generic-netbsd/sys/fcntl.h +26 -2
- package/libc/include/generic-netbsd/sys/fd_set.h +3 -3
- package/libc/include/generic-netbsd/sys/featuretest.h +24 -6
- package/libc/include/generic-netbsd/sys/file.h +18 -6
- package/libc/include/generic-netbsd/sys/filedesc.h +8 -4
- package/libc/include/generic-netbsd/sys/futex.h +11 -11
- package/libc/include/generic-netbsd/sys/ieee754.h +2 -2
- package/libc/include/generic-netbsd/sys/ipc.h +2 -2
- package/libc/include/generic-netbsd/sys/ipmi.h +4 -2
- package/libc/include/generic-netbsd/sys/ksem.h +1 -1
- package/libc/include/generic-netbsd/sys/ktrace.h +6 -4
- package/libc/include/generic-netbsd/sys/lock.h +2 -2
- package/libc/include/generic-netbsd/sys/lua.h +1 -1
- package/libc/include/generic-netbsd/sys/lwp.h +25 -92
- package/libc/include/generic-netbsd/sys/mbuf.h +15 -13
- package/libc/include/generic-netbsd/sys/mman.h +11 -3
- package/libc/include/generic-netbsd/sys/mount.h +1 -2
- package/libc/include/generic-netbsd/sys/msg.h +3 -3
- package/libc/include/generic-netbsd/sys/mutex.h +1 -3
- package/libc/include/generic-netbsd/sys/namei.h +32 -17
- package/libc/include/generic-netbsd/sys/param.h +11 -8
- package/libc/include/generic-netbsd/sys/pipe.h +10 -11
- package/libc/include/generic-netbsd/sys/poll.h +8 -2
- package/libc/include/generic-netbsd/sys/proc.h +15 -15
- package/libc/include/generic-netbsd/sys/ptrace.h +24 -7
- package/libc/include/generic-netbsd/sys/ptree.h +2 -1
- package/libc/include/generic-netbsd/sys/queue.h +37 -37
- package/libc/include/generic-netbsd/sys/rbtree.h +23 -9
- package/libc/include/generic-netbsd/sys/resourcevar.h +2 -2
- package/libc/include/generic-netbsd/sys/rmd160.h +3 -3
- package/libc/include/generic-netbsd/sys/rndio.h +1 -1
- package/libc/include/generic-netbsd/sys/rwlock.h +1 -2
- package/libc/include/generic-netbsd/sys/sched.h +1 -1
- package/libc/include/generic-netbsd/sys/sdt.h +181 -111
- package/libc/include/generic-netbsd/sys/sem.h +7 -2
- package/libc/include/generic-netbsd/sys/sha1.h +3 -3
- package/libc/include/generic-netbsd/sys/sha2.h +8 -1
- package/libc/include/generic-netbsd/sys/shm.h +2 -2
- package/libc/include/generic-netbsd/sys/siginfo.h +5 -5
- package/libc/include/generic-netbsd/sys/signal.h +1 -1
- package/libc/include/generic-netbsd/sys/sigtypes.h +4 -4
- package/libc/include/generic-netbsd/sys/sleepq.h +14 -27
- package/libc/include/generic-netbsd/sys/socket.h +3 -1
- package/libc/include/generic-netbsd/sys/socketvar.h +4 -4
- package/libc/include/generic-netbsd/sys/stat.h +5 -5
- package/libc/include/generic-netbsd/sys/stdalign.h +55 -0
- package/libc/include/generic-netbsd/sys/stdarg.h +2 -2
- package/libc/include/generic-netbsd/sys/stddef.h +156 -0
- package/libc/include/generic-netbsd/sys/swap.h +2 -2
- package/libc/include/generic-netbsd/sys/syncobj.h +9 -6
- package/libc/include/generic-netbsd/sys/syscall.h +29 -8
- package/libc/include/generic-netbsd/sys/syscallargs.h +89 -12
- package/libc/include/generic-netbsd/sys/sysctl.h +94 -86
- package/libc/include/generic-netbsd/sys/syslimits.h +8 -1
- package/libc/include/generic-netbsd/sys/syslog.h +6 -7
- package/libc/include/generic-netbsd/sys/time.h +10 -8
- package/libc/include/generic-netbsd/sys/tree.h +13 -13
- package/libc/include/generic-netbsd/sys/tty.h +2 -2
- package/libc/include/generic-netbsd/sys/ttycom.h +7 -1
- package/libc/include/generic-netbsd/sys/types.h +1 -1
- package/libc/include/generic-netbsd/sys/ucontext.h +46 -49
- package/libc/include/generic-netbsd/sys/un.h +12 -4
- package/libc/include/generic-netbsd/sys/unistd.h +103 -102
- package/libc/include/generic-netbsd/sys/unpcb.h +2 -2
- package/libc/include/generic-netbsd/sys/vmmeter.h +1 -39
- package/libc/include/generic-netbsd/sys/vnode_if.h +2 -2
- package/libc/include/generic-netbsd/sys/vnode_impl.h +6 -3
- package/libc/include/generic-netbsd/sys/wapbl_replay.h +2 -2
- package/libc/include/generic-netbsd/sys/wchan.h +37 -0
- package/libc/include/generic-netbsd/syslog.h +6 -7
- package/libc/include/generic-netbsd/time.h +44 -8
- package/libc/include/generic-netbsd/tzfile.h +11 -6
- package/libc/include/generic-netbsd/uchar.h +1 -1
- package/libc/include/generic-netbsd/ucontext.h +2 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs.h +31 -16
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_dir.h +1 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extents.h +5 -5
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extern.h +4 -4
- package/libc/include/generic-netbsd/ufs/ffs/ffs_extern.h +1 -1
- package/libc/include/generic-netbsd/ufs/ffs/fs.h +3 -3
- package/libc/include/generic-netbsd/ufs/ufs/quota2.h +2 -2
- package/libc/include/generic-netbsd/unistd.h +11 -5
- package/libc/include/generic-netbsd/unwind.h +1 -1
- package/libc/include/generic-netbsd/util.h +15 -1
- package/libc/include/generic-netbsd/uvm/uvm.h +1 -5
- package/libc/include/generic-netbsd/uvm/uvm_extern.h +3 -4
- package/libc/include/generic-netbsd/uvm/uvm_object.h +2 -2
- package/libc/include/generic-netbsd/uvm/uvm_param.h +1 -1
- package/libc/include/generic-netbsd/uvm/uvm_swap.h +14 -3
- package/libc/include/generic-netbsd/wchar.h +7 -2
- package/libc/include/generic-netbsd/x86/bootinfo.h +4 -1
- package/libc/include/generic-netbsd/x86/cpu.h +18 -1
- package/libc/include/generic-netbsd/x86/cpu_extended_state.h +3 -1
- package/libc/include/generic-netbsd/x86/cpuvar.h +4 -1
- package/libc/include/generic-netbsd/x86/float.h +24 -1
- package/libc/include/generic-netbsd/x86/ieee.h +11 -7
- package/libc/include/generic-netbsd/x86/lwp_private.h +56 -0
- package/libc/include/generic-netbsd/x86/mutex.h +1 -1
- package/libc/include/generic-netbsd/x86/specialreg.h +111 -23
- package/libc/include/generic-openbsd/db.h +1 -7
- package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
- package/libc/include/generic-openbsd/fnmatch.h +6 -2
- package/libc/include/generic-openbsd/login_cap.h +3 -1
- package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
- package/libc/include/generic-openbsd/net/bpf.h +3 -1
- package/libc/include/generic-openbsd/net/hfsc.h +4 -4
- package/libc/include/generic-openbsd/net/if.h +5 -1
- package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
- package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
- package/libc/include/generic-openbsd/net/if_media.h +26 -1
- package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
- package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
- package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
- package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
- package/libc/include/generic-openbsd/net/if_types.h +2 -2
- package/libc/include/generic-openbsd/net/if_var.h +34 -12
- package/libc/include/generic-openbsd/net/netisr.h +1 -3
- package/libc/include/generic-openbsd/net/pfvar.h +154 -1
- package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
- package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
- package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
- package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
- package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
- package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
- package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
- package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
- package/libc/include/generic-openbsd/netinet/ip.h +3 -2
- package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
- package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
- package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
- package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
- package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
- package/libc/include/generic-openbsd/pthread.h +2 -2
- package/libc/include/generic-openbsd/signal.h +2 -2
- package/libc/include/generic-openbsd/sndio.h +6 -12
- package/libc/include/generic-openbsd/strings.h +5 -1
- package/libc/include/generic-openbsd/sys/device.h +4 -3
- package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
- package/libc/include/generic-openbsd/sys/dkio.h +3 -5
- package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
- package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
- package/libc/include/generic-openbsd/sys/mman.h +7 -2
- package/libc/include/generic-openbsd/sys/mutex.h +10 -7
- package/libc/include/generic-openbsd/sys/namei.h +8 -7
- package/libc/include/generic-openbsd/sys/param.h +1 -1
- package/libc/include/generic-openbsd/sys/pledge.h +1 -3
- package/libc/include/generic-openbsd/sys/protosw.h +8 -1
- package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
- package/libc/include/generic-openbsd/sys/sched.h +8 -1
- package/libc/include/generic-openbsd/sys/signal.h +4 -2
- package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
- package/libc/include/generic-openbsd/sys/sockio.h +11 -1
- package/libc/include/generic-openbsd/sys/syscall.h +5 -3
- package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
- package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
- package/libc/include/generic-openbsd/sys/types.h +6 -2
- package/libc/include/generic-openbsd/sys/videoio.h +143 -68
- package/libc/include/generic-openbsd/sys/xcall.h +2 -2
- package/libc/include/generic-openbsd/time.h +2 -2
- package/libc/include/generic-openbsd/unistd.h +2 -2
- package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
- package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
- package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
- package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
- package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
- package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
- package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/m68k-netbsd-none/m68k/asm.h +11 -2
- package/libc/include/m68k-netbsd-none/m68k/bus_dma.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/byte_swap.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_30.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_40.h +3 -1
- package/libc/include/m68k-netbsd-none/m68k/cacheops_60.h +5 -3
- package/libc/include/m68k-netbsd-none/m68k/cpu.h +86 -59
- package/libc/include/m68k-netbsd-none/m68k/cpuframe.h +5 -5
- package/libc/include/m68k-netbsd-none/m68k/fenv.h +6 -4
- package/libc/include/m68k-netbsd-none/m68k/float.h +26 -1
- package/libc/include/m68k-netbsd-none/m68k/frame.h +31 -19
- package/libc/include/m68k-netbsd-none/m68k/ieee.h +13 -8
- package/libc/include/m68k-netbsd-none/m68k/ieeefp.h +3 -3
- package/libc/include/m68k-netbsd-none/m68k/int_limits.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/intr.h +211 -0
- package/libc/include/m68k-netbsd-none/m68k/kcore.h +31 -31
- package/libc/include/m68k-netbsd-none/m68k/lwp_private.h +64 -0
- package/libc/include/m68k-netbsd-none/m68k/m68k.h +3 -7
- package/libc/include/m68k-netbsd-none/m68k/mcontext.h +5 -36
- package/libc/include/m68k-netbsd-none/m68k/mmu_30.h +105 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_40.h +232 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_51.h +273 -0
- package/libc/include/m68k-netbsd-none/m68k/mutex.h +1 -1
- package/libc/include/m68k-netbsd-none/m68k/pcb.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/pmap_motorola.h +32 -23
- package/libc/include/m68k-netbsd-none/m68k/psl.h +26 -7
- package/libc/include/m68k-netbsd-none/m68k/pte_motorola.h +37 -26
- package/libc/include/m68k-netbsd-none/m68k/trap.h +7 -7
- package/libc/include/m68k-netbsd-none/mac68k/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/mac68k/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/mac68k/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/mac68k/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/mac68k/z8530var.h +2 -2
- package/libc/include/m68k-netbsd-none/machine/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/machine/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/machine/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/machine/z8530var.h +2 -2
- 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/mips-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
- package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
- package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
- package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
- package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/powerpc-linux-gnu/bits/struct_mutex.h +2 -2
- package/libc/include/powerpc-netbsd-eabi/evbppc/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ansi.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/aout_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/asm.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cdefs.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cpu.h +65 -0
- package/libc/include/powerpc-netbsd-eabi/machine/disklabel.h +69 -0
- package/libc/include/powerpc-netbsd-eabi/machine/elf_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/endian.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/fenv.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/frame.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieee.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieeefp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_const.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_fmtio.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_mwgwtypes.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_types.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/kcore.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lock.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/math.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mcontext.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mutex.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/param.h +43 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pcb.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pmap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/proc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/profile.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/psl.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pte.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ptrace.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reg.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reloc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/setjmp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/signal.h +3 -0
- package/libc/include/{mips-netbsd-eabi → powerpc-netbsd-eabi}/machine/sljit_machdep.h +1 -1
- package/libc/include/powerpc-netbsd-eabi/machine/trap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/types.h +11 -0
- package/libc/include/powerpc-netbsd-eabi/machine/vmparam.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/wchar_limits.h +3 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/asm.h +12 -2
- package/libc/include/powerpc-netbsd-eabi/powerpc/bswap.h +14 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cpu.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fenv.h +2 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/pmap.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieee.h +7 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/limits.h +4 -13
- package/libc/include/powerpc-netbsd-eabi/powerpc/lwp_private.h +79 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mcontext.h +6 -50
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mutex.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pmap.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pmap.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/psl.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/vmparam.h +1 -1
- package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
- package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
- package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
- package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
- package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
- package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
- package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/riscv32-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv32-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv32-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv32-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/riscv64-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv64-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv64-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv64-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
- package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
- package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/s390x-linux-gnu/bits/fenv.h +2 -2
- package/libc/include/s390x-linux-gnu/bits/struct_mutex.h +2 -2
- 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/sparc-netbsd-none/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/asm.h +10 -1
- package/libc/include/sparc-netbsd-none/machine/cgtworeg.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/cpu.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/limits.h +4 -6
- package/libc/include/sparc-netbsd-none/machine/lwp_private.h +51 -0
- package/libc/include/sparc-netbsd-none/machine/mcontext.h +4 -22
- package/libc/include/sparc-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/param.h +4 -2
- package/libc/include/sparc-netbsd-none/machine/pmap.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/psl.h +6 -3
- package/libc/include/sparc-netbsd-none/machine/sxreg.h +5 -1
- package/libc/include/sparc-netbsd-none/machine/types.h +2 -2
- package/libc/include/sparc-netbsd-none/sparc/sxreg.h +5 -1
- package/libc/include/sparc64-netbsd-none/machine/cpu.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/ctlreg.h +8 -7
- package/libc/include/sparc64-netbsd-none/machine/intr.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/sparc64-netbsd-none/machine/mcontext.h +4 -4
- package/libc/include/sparc64-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/param.h +8 -2
- package/libc/include/sparc64-netbsd-none/machine/psl.h +7 -2
- package/libc/include/sparc64-netbsd-none/machine/pte.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/vmparam.h +1 -1
- package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
- package/libc/include/x86-linux-any/asm/kvm.h +13 -8
- package/libc/include/x86-linux-any/asm/svm.h +16 -16
- package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
- package/libc/include/x86-linux-gnu/bits/struct_mutex.h +2 -2
- package/libc/include/x86-netbsd-none/machine/asm.h +12 -4
- package/libc/include/x86-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86-netbsd-none/machine/cpu.h +15 -4
- package/libc/include/x86-netbsd-none/machine/elf_machdep.h +2 -1
- package/libc/include/x86-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86-netbsd-none/machine/mcontext.h +6 -24
- package/libc/include/x86-netbsd-none/machine/param.h +9 -1
- package/libc/include/x86-netbsd-none/machine/pcb.h +6 -2
- package/libc/include/x86-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86-netbsd-none/machine/types.h +2 -1
- package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
- package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
- package/libc/include/x86_64-netbsd-none/amd64/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/amd64/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/amd64/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/amd64/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/amd64/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/amd64/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/amd64/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/types.h +2 -1
- package/libc/include/x86_64-netbsd-none/machine/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/machine/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/machine/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/machine/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/machine/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/types.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
- package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
- package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/netbsd/abilists +0 -0
- package/libc/netbsd/lib/csu/arch/riscv/crt0.S +62 -0
- package/libc/netbsd/lib/csu/common/crt0-common.c +32 -7
- package/libc/netbsd/lib/csu/common/csu-common.h +2 -0
- package/libc/openbsd/abilists +0 -0
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +948 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +42 -43
- package/std/Build/Cache.zig +19 -9
- package/std/Build/Configuration.zig +3479 -0
- package/std/Build/Module.zig +99 -225
- package/std/Build/Step/CheckFile.zig +17 -63
- package/std/Build/Step/Compile.zig +97 -1426
- package/std/Build/Step/ConfigHeader.zig +56 -944
- package/std/Build/Step/Fail.zig +10 -20
- package/std/Build/Step/FindProgram.zig +31 -0
- package/std/Build/Step/Fmt.zig +22 -57
- package/std/Build/Step/InstallArtifact.zig +26 -141
- package/std/Build/Step/InstallDir.zig +14 -67
- package/std/Build/Step/InstallFile.zig +12 -21
- package/std/Build/Step/ObjCopy.zig +82 -199
- package/std/Build/Step/Options.zig +55 -284
- package/std/Build/Step/Run.zig +138 -2246
- package/std/Build/Step/TranslateC.zig +55 -164
- package/std/Build/Step/UpdateSourceFiles.zig +38 -91
- package/std/Build/Step/WriteFile.zig +113 -328
- package/std/Build/Step.zig +45 -916
- package/std/Build/abi.zig +1 -1
- package/std/Build.zig +725 -770
- package/std/Io/Dir.zig +12 -7
- package/std/Io/Dispatch.zig +5 -5
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +6 -9
- package/std/Io/Kqueue.zig +5 -5
- package/std/Io/Reader.zig +66 -23
- package/std/Io/RwLock.zig +2 -0
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +36 -30
- package/std/Io/Uring.zig +11 -9
- package/std/Io/Writer.zig +125 -37
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +3 -1
- package/std/Io.zig +29 -19
- package/std/Progress.zig +2 -2
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +4 -5
- package/std/Target/aarch64.zig +622 -79
- package/std/Target/alpha.zig +2 -2
- package/std/Target/amdgcn.zig +423 -23
- package/std/Target/arc.zig +2 -2
- package/std/Target/arm.zig +42 -8
- package/std/Target/avr.zig +2 -2
- package/std/Target/bpf.zig +8 -2
- package/std/Target/csky.zig +2 -2
- package/std/Target/hexagon.zig +43 -8
- package/std/Target/hppa.zig +2 -2
- package/std/Target/kvx.zig +2 -2
- package/std/Target/lanai.zig +2 -2
- package/std/Target/loongarch.zig +20 -2
- package/std/Target/m68k.zig +2 -2
- package/std/Target/mips.zig +8 -2
- package/std/Target/msp430.zig +2 -2
- package/std/Target/nvptx.zig +60 -37
- package/std/Target/powerpc.zig +29 -21
- package/std/Target/propeller.zig +2 -2
- package/std/Target/riscv.zig +514 -179
- package/std/Target/s390x.zig +2 -2
- package/std/Target/sparc.zig +19 -2
- package/std/Target/spirv.zig +3 -3
- package/std/Target/ve.zig +2 -2
- package/std/Target/wasm.zig +9 -2
- package/std/Target/x86.zig +202 -33
- package/std/Target/xcore.zig +2 -2
- package/std/Target/xtensa.zig +67 -2
- package/std/Target.zig +101 -62
- package/std/Thread.zig +39 -6
- package/std/array_hash_map.zig +104 -59
- package/std/array_list.zig +20 -35
- package/std/ascii.zig +0 -9
- package/std/atomic.zig +2 -0
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +85 -93
- package/std/c/darwin.zig +7 -1
- package/std/c.zig +88 -29
- package/std/coff.zig +1 -1
- package/std/compress/flate/Compress.zig +4 -2
- 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/aesni.zig +1 -1
- package/std/crypto/aes/armcrypto.zig +4 -4
- package/std/crypto/aes/soft.zig +4 -4
- package/std/crypto/aes.zig +12 -0
- 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/aes_siv.zig +4 -2
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -35
- package/std/crypto/bcrypt.zig +20 -10
- package/std/crypto/benchmark.zig +7 -7
- package/std/crypto/blake2.zig +100 -64
- package/std/crypto/cbc_mac.zig +1 -1
- package/std/crypto/chacha20.zig +10 -10
- package/std/crypto/cmac.zig +3 -3
- package/std/crypto/codecs/asn1/Oid.zig +22 -11
- package/std/crypto/codecs/asn1/der/Decoder.zig +51 -20
- package/std/crypto/codecs/asn1/der/Encoder.zig +111 -46
- package/std/crypto/codecs/asn1/der.zig +42 -0
- package/std/crypto/codecs/asn1.zig +97 -38
- package/std/crypto/codecs/base64_hex_ct.zig +3 -5
- package/std/crypto/codecs.zig +6 -0
- package/std/crypto/ecdsa.zig +9 -9
- package/std/crypto/ff.zig +7 -6
- 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/phc_encoding.zig +23 -20
- package/std/crypto/salsa20.zig +8 -14
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -4
- package/std/crypto/siphash.zig +1 -1
- package/std/crypto/timing_safe.zig +11 -10
- package/std/crypto/tls/Client.zig +107 -16
- package/std/crypto/tls.zig +2 -2
- package/std/crypto.zig +4 -3
- package/std/debug/Dwarf/Unwind/VirtualMachine.zig +11 -5
- package/std/debug/Dwarf.zig +21 -12
- package/std/debug/ElfFile.zig +12 -8
- package/std/debug/MachOFile.zig +2 -2
- package/std/debug/Pdb.zig +86 -51
- package/std/debug/SelfInfo/Elf.zig +13 -9
- package/std/debug/SelfInfo/MachO.zig +44 -17
- package/std/debug/SelfInfo/Windows.zig +5 -7
- package/std/debug/cpu_context.zig +231 -39
- package/std/debug.zig +16 -8
- package/std/deque.zig +1 -1
- package/std/elf.zig +29 -12
- package/std/enums.zig +74 -87
- package/std/fmt/float.zig +2 -0
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +7 -8
- package/std/fs/path.zig +7 -5
- package/std/gpu.zig +1 -1
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/auto_hash.zig +8 -8
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/verify.zig +3 -3
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +22 -2
- package/std/heap/ArenaAllocator.zig +3 -5
- package/std/heap/BrkAllocator.zig +1 -1
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/SafeAllocator.zig +2180 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +20 -133
- package/std/http/Client.zig +2 -2
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/Stringify.zig +14 -14
- package/std/json/static.zig +49 -32
- package/std/json.zig +1 -1
- package/std/{builtin → lang}/assembly.zig +71 -0
- package/std/{builtin.zig → lang.zig} +70 -100
- package/std/leb128.zig +2 -2
- package/std/math/acos.zig +6 -0
- package/std/math/asin.zig +6 -0
- package/std/math/atan.zig +5 -0
- package/std/math/big/int.zig +5 -5
- package/std/math/big.zig +4 -4
- package/std/math/copysign.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/frexp.zig +4 -4
- package/std/math/hypot.zig +4 -0
- package/std/math/ilogb.zig +1 -1
- package/std/math/isfinite.zig +1 -1
- package/std/math/isinf.zig +1 -1
- package/std/math/isnan.zig +6 -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/log1p.zig +13 -19
- 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 +28 -28
- package/std/mem/Allocator.zig +14 -18
- package/std/mem.zig +137 -176
- package/std/meta/trailer_flags.zig +27 -20
- package/std/meta.zig +134 -215
- package/std/multi_array_list.zig +70 -54
- package/std/os/emscripten.zig +7 -6
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/alpha.zig +358 -0
- package/std/os/linux/arm.zig +0 -26
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/csky.zig +165 -0
- package/std/os/linux/ioctl.zig +3 -2
- package/std/os/linux/microblaze.zig +170 -0
- package/std/os/linux/sh.zig +239 -0
- package/std/os/linux/sparc.zig +277 -0
- package/std/os/linux/sparc64.zig +44 -30
- package/std/os/linux/syscalls.zig +2246 -13
- package/std/os/linux/tls.zig +12 -1
- package/std/os/linux/x86.zig +2 -2
- package/std/os/linux/xtensa.zig +193 -0
- package/std/os/linux.zig +829 -58
- package/std/os/plan9.zig +1 -1
- package/std/os/uefi/hii.zig +1 -1
- package/std/os/uefi/protocol/device_path.zig +8 -7
- package/std/os/uefi/protocol/file.zig +16 -0
- 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 +139 -16
- package/std/os.zig +0 -15
- package/std/pie.zig +19 -0
- package/std/posix.zig +2 -2
- package/std/process/Child.zig +20 -0
- package/std/process/Environ.zig +28 -4
- package/std/process.zig +13 -5
- package/std/simd.zig +4 -21
- package/std/sort/pdq.zig +91 -13
- package/std/start.zig +63 -22
- package/std/static_string_map.zig +59 -1
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing/Smith.zig +35 -21
- package/std/testing.zig +83 -30
- package/std/unicode.zig +13 -8
- package/std/zig/Ast/Render.zig +6 -30
- package/std/zig/Ast.zig +16 -41
- package/std/zig/AstGen.zig +216 -300
- package/std/zig/AstRlAnnotate.zig +1 -11
- package/std/zig/AstSmith.zig +5 -11
- package/std/zig/ErrorBundle.zig +22 -15
- package/std/zig/LibCDirs.zig +14 -7
- package/std/zig/LibCInstallation.zig +61 -26
- package/std/zig/Parse.zig +18 -83
- package/std/zig/PkgConfig.zig +151 -0
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +22 -76
- package/std/zig/ZonGen.zig +19 -27
- package/std/zig/c_translation/helpers.zig +2 -2
- package/std/zig/llvm/BitcodeReader.zig +3 -3
- package/std/zig/llvm/Builder.zig +163 -126
- package/std/zig/llvm/bitcode_writer.zig +7 -7
- package/std/zig/llvm/ir.zig +8 -8
- package/std/zig/system/arm.zig +56 -2
- package/std/zig/system/darwin/macos.zig +11 -7
- package/std/zig/system/linux.zig +4 -0
- package/std/zig/system/loongarch.zig +25 -9
- package/std/zig/system/windows.zig +45 -12
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +23 -30
- package/std/zig/target.zig +3 -5
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +114 -26
- package/std/zip.zig +5 -5
- package/std/zon/Serializer.zig +34 -25
- package/std/zon/parse.zig +84 -62
- package/ubsan_rt.zig +3 -3
- package/zig.h +61 -11
- package/compiler/build_runner.zig +0 -1857
- package/compiler_rt/long_double.zig +0 -37
- package/include/amxbf16transposeintrin.h +0 -94
- package/include/amxcomplextransposeintrin.h +0 -303
- package/include/amxfp16transposeintrin.h +0 -94
- package/include/amxmovrstransposeintrin.h +0 -200
- package/include/amxtf32transposeintrin.h +0 -105
- package/include/amxtransposeintrin.h +0 -248
- package/libc/include/arm-netbsd-eabi/machine/frame.h +0 -130
- package/libc/include/generic-netbsd/powerpc/bswap.h +0 -8
- package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
- package/libc/include/mips-netbsd-eabi/machine/psl.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/reloc.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/trap.h +0 -3
- package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
- package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
- package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/i386/log1p.s +0 -25
- package/libc/musl/src/math/i386/log1pf.s +0 -26
- 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/log1p.c +0 -122
- package/libc/musl/src/math/log1pf.c +0 -77
- 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/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/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/asm.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/bswap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/disklabel.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fenv.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieee.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mcontext.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mutex.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pmap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/psl.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/wchar_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/tlb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/bat.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/sr_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/wchar_limits.h +0 -0
package/std/zig/AstGen.zig
CHANGED
|
@@ -74,25 +74,25 @@ src_hasher: std.zig.SrcHasher,
|
|
|
74
74
|
const InnerError = error{ OutOfMemory, AnalysisFail };
|
|
75
75
|
|
|
76
76
|
fn addExtra(astgen: *AstGen, extra: anytype) Allocator.Error!u32 {
|
|
77
|
-
const
|
|
78
|
-
try astgen.extra.ensureUnusedCapacity(astgen.gpa,
|
|
77
|
+
const field_count = std.meta.fieldNames(@TypeOf(extra)).len;
|
|
78
|
+
try astgen.extra.ensureUnusedCapacity(astgen.gpa, field_count);
|
|
79
79
|
return addExtraAssumeCapacity(astgen, extra);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
fn addExtraAssumeCapacity(astgen: *AstGen, extra: anytype) u32 {
|
|
83
|
-
const
|
|
83
|
+
const field_count = std.meta.fieldNames(@TypeOf(extra)).len;
|
|
84
84
|
const extra_index: u32 = @intCast(astgen.extra.items.len);
|
|
85
|
-
astgen.extra.items.len +=
|
|
85
|
+
astgen.extra.items.len += field_count;
|
|
86
86
|
setExtra(astgen, extra_index, extra);
|
|
87
87
|
return extra_index;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
fn setExtra(astgen: *AstGen, index: usize, extra: anytype) void {
|
|
91
|
-
const
|
|
91
|
+
const info = @typeInfo(@TypeOf(extra)).@"struct";
|
|
92
92
|
var i = index;
|
|
93
|
-
inline for (
|
|
94
|
-
astgen.extra.items[i] = switch (
|
|
95
|
-
u32 => @field(extra,
|
|
93
|
+
inline for (info.field_names, info.field_types) |field_name, field_type| {
|
|
94
|
+
astgen.extra.items[i] = switch (field_type) {
|
|
95
|
+
u32 => @field(extra, field_name),
|
|
96
96
|
|
|
97
97
|
Zir.Inst.Ref,
|
|
98
98
|
Zir.Inst.Index,
|
|
@@ -103,13 +103,13 @@ fn setExtra(astgen: *AstGen, index: usize, extra: anytype) void {
|
|
|
103
103
|
Ast.OptionalTokenIndex,
|
|
104
104
|
Ast.Node.Index,
|
|
105
105
|
Ast.Node.OptionalIndex,
|
|
106
|
-
=> @intFromEnum(@field(extra,
|
|
106
|
+
=> @intFromEnum(@field(extra, field_name)),
|
|
107
107
|
|
|
108
108
|
Ast.TokenOffset,
|
|
109
109
|
Ast.OptionalTokenOffset,
|
|
110
110
|
Ast.Node.Offset,
|
|
111
111
|
Ast.Node.OptionalOffset,
|
|
112
|
-
=> @bitCast(@intFromEnum(@field(extra,
|
|
112
|
+
=> @bitCast(@intFromEnum(@field(extra, field_name))),
|
|
113
113
|
|
|
114
114
|
i32,
|
|
115
115
|
Zir.Inst.Call.Flags,
|
|
@@ -118,7 +118,7 @@ fn setExtra(astgen: *AstGen, index: usize, extra: anytype) void {
|
|
|
118
118
|
Zir.Inst.FuncFancy.Bits,
|
|
119
119
|
Zir.Inst.Param.Type,
|
|
120
120
|
Zir.Inst.Func.RetTy,
|
|
121
|
-
=> @bitCast(@field(extra,
|
|
121
|
+
=> @bitCast(@field(extra, field_name)),
|
|
122
122
|
|
|
123
123
|
else => @compileError("bad field type"),
|
|
124
124
|
};
|
|
@@ -166,7 +166,7 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
|
|
|
166
166
|
try astgen.instructions.ensureTotalCapacity(gpa, tree.nodes.len);
|
|
167
167
|
|
|
168
168
|
// First few indexes of extra are reserved and set at the end.
|
|
169
|
-
const reserved_count = @typeInfo(Zir.ExtraIndex).@"enum".
|
|
169
|
+
const reserved_count = @typeInfo(Zir.ExtraIndex).@"enum".field_names.len;
|
|
170
170
|
try astgen.extra.ensureTotalCapacity(gpa, tree.nodes.len + reserved_count);
|
|
171
171
|
astgen.extra.items.len += reserved_count;
|
|
172
172
|
|
|
@@ -199,7 +199,7 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
|
|
|
199
199
|
assert(struct_decl_ref.toIndex().? == .main_struct_inst);
|
|
200
200
|
break :fatal false;
|
|
201
201
|
} else |err| switch (err) {
|
|
202
|
-
error.OutOfMemory => return
|
|
202
|
+
error.OutOfMemory => |e| return e,
|
|
203
203
|
error.AnalysisFail => break :fatal true, // Handled via compile_errors below.
|
|
204
204
|
}
|
|
205
205
|
} else fatal: {
|
|
@@ -212,7 +212,7 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
|
|
|
212
212
|
astgen.extra.items[err_index] = 0;
|
|
213
213
|
} else {
|
|
214
214
|
try astgen.extra.ensureUnusedCapacity(gpa, 1 + astgen.compile_errors.items.len *
|
|
215
|
-
@typeInfo(Zir.Inst.CompileErrors.Item).@"struct".
|
|
215
|
+
@typeInfo(Zir.Inst.CompileErrors.Item).@"struct".field_names.len);
|
|
216
216
|
|
|
217
217
|
astgen.extra.items[err_index] = astgen.addExtraAssumeCapacity(Zir.Inst.CompileErrors{
|
|
218
218
|
.items_len = @intCast(astgen.compile_errors.items.len),
|
|
@@ -227,8 +227,8 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
|
|
|
227
227
|
if (astgen.imports.count() == 0) {
|
|
228
228
|
astgen.extra.items[imports_index] = 0;
|
|
229
229
|
} else {
|
|
230
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Imports).@"struct".
|
|
231
|
-
astgen.imports.count() * @typeInfo(Zir.Inst.Imports.Item).@"struct".
|
|
230
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Imports).@"struct".field_names.len +
|
|
231
|
+
astgen.imports.count() * @typeInfo(Zir.Inst.Imports.Item).@"struct".field_names.len);
|
|
232
232
|
|
|
233
233
|
astgen.extra.items[imports_index] = astgen.addExtraAssumeCapacity(Zir.Inst.Imports{
|
|
234
234
|
.imports_len = @intCast(astgen.imports.count()),
|
|
@@ -243,10 +243,13 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
+
try astgen.extra.shrinkToLen(gpa);
|
|
247
|
+
try astgen.string_bytes.shrinkToLen(gpa);
|
|
248
|
+
|
|
246
249
|
return .{
|
|
247
250
|
.instructions = if (fatal) .empty else astgen.instructions.toOwnedSlice(),
|
|
248
|
-
.string_bytes =
|
|
249
|
-
.extra =
|
|
251
|
+
.string_bytes = astgen.string_bytes.toOwnedSliceAssert(),
|
|
252
|
+
.extra = astgen.extra.toOwnedSliceAssert(),
|
|
250
253
|
};
|
|
251
254
|
}
|
|
252
255
|
|
|
@@ -504,7 +507,6 @@ fn lvalExpr(gz: *GenZir, scope: *Scope, node: Ast.Node.Index) InnerError!Zir.Ins
|
|
|
504
507
|
.less_than,
|
|
505
508
|
.less_or_equal,
|
|
506
509
|
.array_cat,
|
|
507
|
-
.array_mult,
|
|
508
510
|
.bool_and,
|
|
509
511
|
.bool_or,
|
|
510
512
|
.@"asm",
|
|
@@ -774,19 +776,6 @@ fn expr(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node.Index) InnerE
|
|
|
774
776
|
.less_or_equal => return simpleBinOp(gz, scope, ri, node, .cmp_lte),
|
|
775
777
|
.array_cat => return simpleBinOp(gz, scope, ri, node, .array_cat),
|
|
776
778
|
|
|
777
|
-
.array_mult => {
|
|
778
|
-
// This syntax form does not currently use the result type in the language specification.
|
|
779
|
-
// However, the result type can be used to emit more optimal code for large multiplications by
|
|
780
|
-
// having Sema perform a coercion before the multiplication operation.
|
|
781
|
-
const lhs_node, const rhs_node = tree.nodeData(node).node_and_node;
|
|
782
|
-
const result = try gz.addPlNode(.array_mul, node, Zir.Inst.ArrayMul{
|
|
783
|
-
.res_ty = if (try ri.rl.resultType(gz, node)) |t| t else .none,
|
|
784
|
-
.lhs = try expr(gz, scope, .{ .rl = .none }, lhs_node),
|
|
785
|
-
.rhs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .usize_type } }, rhs_node, .array_mul_factor),
|
|
786
|
-
});
|
|
787
|
-
return rvalue(gz, ri, result, node);
|
|
788
|
-
},
|
|
789
|
-
|
|
790
779
|
.error_union, .merge_error_sets => |tag| {
|
|
791
780
|
const inst_tag: Zir.Inst.Tag = switch (tag) {
|
|
792
781
|
.error_union => .error_union_type,
|
|
@@ -1409,12 +1398,12 @@ fn fnProtoExprInner(
|
|
|
1409
1398
|
try comptimeExpr(
|
|
1410
1399
|
&block_scope,
|
|
1411
1400
|
scope,
|
|
1412
|
-
.{ .rl = .{ .coerced_ty = try block_scope.
|
|
1401
|
+
.{ .rl = .{ .coerced_ty = try block_scope.addStdLangValue(callconv_expr, .calling_convention) } },
|
|
1413
1402
|
callconv_expr,
|
|
1414
1403
|
.@"callconv",
|
|
1415
1404
|
)
|
|
1416
1405
|
else if (implicit_ccc)
|
|
1417
|
-
try block_scope.
|
|
1406
|
+
try block_scope.addStdLangValue(node, .calling_convention_c)
|
|
1418
1407
|
else
|
|
1419
1408
|
.none;
|
|
1420
1409
|
|
|
@@ -1776,11 +1765,12 @@ fn structInitExpr(
|
|
|
1776
1765
|
}
|
|
1777
1766
|
|
|
1778
1767
|
{
|
|
1779
|
-
var
|
|
1780
|
-
|
|
1768
|
+
var bfa_buf: [256]u8 = undefined;
|
|
1769
|
+
var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, astgen.arena);
|
|
1770
|
+
const bfa = bfa_state.allocator();
|
|
1781
1771
|
|
|
1782
1772
|
var duplicate_names: std.array_hash_map.Auto(Zir.NullTerminatedString, ArrayList(Ast.TokenIndex)) = .empty;
|
|
1783
|
-
try duplicate_names.ensureTotalCapacity(
|
|
1773
|
+
try duplicate_names.ensureTotalCapacity(bfa, @intCast(struct_init.ast.fields.len));
|
|
1784
1774
|
|
|
1785
1775
|
// When there aren't errors, use this to avoid a second iteration.
|
|
1786
1776
|
var any_duplicate = false;
|
|
@@ -1789,14 +1779,14 @@ fn structInitExpr(
|
|
|
1789
1779
|
const name_token = tree.firstToken(field) - 2;
|
|
1790
1780
|
const name_index = try astgen.identAsString(name_token);
|
|
1791
1781
|
|
|
1792
|
-
const gop = try duplicate_names.getOrPut(
|
|
1782
|
+
const gop = try duplicate_names.getOrPut(bfa, name_index);
|
|
1793
1783
|
|
|
1794
1784
|
if (gop.found_existing) {
|
|
1795
|
-
try gop.value_ptr.append(
|
|
1785
|
+
try gop.value_ptr.append(bfa, name_token);
|
|
1796
1786
|
any_duplicate = true;
|
|
1797
1787
|
} else {
|
|
1798
1788
|
gop.value_ptr.* = .empty;
|
|
1799
|
-
try gop.value_ptr.append(
|
|
1789
|
+
try gop.value_ptr.append(bfa, name_token);
|
|
1800
1790
|
}
|
|
1801
1791
|
}
|
|
1802
1792
|
|
|
@@ -1898,7 +1888,7 @@ fn structInitExprAnon(
|
|
|
1898
1888
|
.abs_line = astgen.source_line,
|
|
1899
1889
|
.fields_len = @intCast(struct_init.ast.fields.len),
|
|
1900
1890
|
});
|
|
1901
|
-
const field_size = @typeInfo(Zir.Inst.StructInitAnon.Item).@"struct".
|
|
1891
|
+
const field_size = @typeInfo(Zir.Inst.StructInitAnon.Item).@"struct".field_names.len;
|
|
1902
1892
|
var extra_index: usize = try reserveExtra(astgen, struct_init.ast.fields.len * field_size);
|
|
1903
1893
|
|
|
1904
1894
|
for (struct_init.ast.fields) |field_init| {
|
|
@@ -1931,7 +1921,7 @@ fn structInitExprTyped(
|
|
|
1931
1921
|
.abs_line = astgen.source_line,
|
|
1932
1922
|
.fields_len = @intCast(struct_init.ast.fields.len),
|
|
1933
1923
|
});
|
|
1934
|
-
const field_size = @typeInfo(Zir.Inst.StructInit.Item).@"struct".
|
|
1924
|
+
const field_size = @typeInfo(Zir.Inst.StructInit.Item).@"struct".field_names.len;
|
|
1935
1925
|
var extra_index: usize = try reserveExtra(astgen, struct_init.ast.fields.len * field_size);
|
|
1936
1926
|
|
|
1937
1927
|
for (struct_init.ast.fields) |field_init| {
|
|
@@ -2709,7 +2699,6 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As
|
|
|
2709
2699
|
.alloc_inferred_comptime_mut,
|
|
2710
2700
|
.make_ptr_const,
|
|
2711
2701
|
.array_cat,
|
|
2712
|
-
.array_mul,
|
|
2713
2702
|
.array_type,
|
|
2714
2703
|
.array_type_sentinel,
|
|
2715
2704
|
.elem_type,
|
|
@@ -2871,7 +2860,6 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As
|
|
|
2871
2860
|
.max,
|
|
2872
2861
|
.min,
|
|
2873
2862
|
.@"resume",
|
|
2874
|
-
.ret_err_value_code,
|
|
2875
2863
|
.ret_ptr,
|
|
2876
2864
|
.ret_type,
|
|
2877
2865
|
.for_len,
|
|
@@ -2960,7 +2948,6 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As
|
|
|
2960
2948
|
=> break :b true,
|
|
2961
2949
|
|
|
2962
2950
|
.@"defer" => unreachable,
|
|
2963
|
-
.defer_err_code => unreachable,
|
|
2964
2951
|
}
|
|
2965
2952
|
} else switch (maybe_unused_result) {
|
|
2966
2953
|
.none => unreachable,
|
|
@@ -2980,60 +2967,28 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As
|
|
|
2980
2967
|
return noreturn_src_node;
|
|
2981
2968
|
}
|
|
2982
2969
|
|
|
2983
|
-
fn
|
|
2984
|
-
have_any: bool,
|
|
2985
|
-
have_normal: bool,
|
|
2986
|
-
have_err: bool,
|
|
2987
|
-
need_err_code: bool,
|
|
2988
|
-
} {
|
|
2989
|
-
var have_normal = false;
|
|
2990
|
-
var have_err = false;
|
|
2991
|
-
var need_err_code = false;
|
|
2970
|
+
fn anyErrdefers(outer_scope: *Scope, inner_scope: *Scope) bool {
|
|
2992
2971
|
var scope = inner_scope;
|
|
2993
2972
|
while (scope != outer_scope) {
|
|
2994
2973
|
switch (scope.unwrap()) {
|
|
2995
2974
|
.gen_zir => |gen_zir| scope = gen_zir.parent,
|
|
2996
2975
|
.local_val => |local_val| scope = local_val.parent,
|
|
2997
2976
|
.local_ptr => |local_ptr| scope = local_ptr.parent,
|
|
2998
|
-
.defer_normal => |
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
have_normal = true;
|
|
3002
|
-
},
|
|
3003
|
-
.defer_error => |defer_scope| {
|
|
3004
|
-
scope = defer_scope.parent;
|
|
3005
|
-
|
|
3006
|
-
have_err = true;
|
|
3007
|
-
|
|
3008
|
-
const have_err_payload = defer_scope.remapped_err_code != .none;
|
|
3009
|
-
need_err_code = need_err_code or have_err_payload;
|
|
3010
|
-
},
|
|
2977
|
+
.defer_normal => |defer_normal| scope = defer_normal.parent,
|
|
2978
|
+
.defer_error => return true,
|
|
3011
2979
|
.namespace => unreachable,
|
|
3012
2980
|
.top => unreachable,
|
|
3013
2981
|
}
|
|
3014
2982
|
}
|
|
3015
|
-
return
|
|
3016
|
-
.have_any = have_normal or have_err,
|
|
3017
|
-
.have_normal = have_normal,
|
|
3018
|
-
.have_err = have_err,
|
|
3019
|
-
.need_err_code = need_err_code,
|
|
3020
|
-
};
|
|
2983
|
+
return false;
|
|
3021
2984
|
}
|
|
3022
2985
|
|
|
3023
|
-
const DefersToEmit = union(enum) {
|
|
3024
|
-
both: Zir.Inst.Ref, // err code
|
|
3025
|
-
both_sans_err,
|
|
3026
|
-
normal_only,
|
|
3027
|
-
};
|
|
3028
|
-
|
|
3029
2986
|
fn genDefers(
|
|
3030
2987
|
gz: *GenZir,
|
|
3031
2988
|
outer_scope: *Scope,
|
|
3032
2989
|
inner_scope: *Scope,
|
|
3033
|
-
which_ones:
|
|
2990
|
+
which_ones: enum { normal_only, normal_and_error },
|
|
3034
2991
|
) InnerError!void {
|
|
3035
|
-
const gpa = gz.astgen.gpa;
|
|
3036
|
-
|
|
3037
2992
|
var scope = inner_scope;
|
|
3038
2993
|
while (scope != outer_scope) {
|
|
3039
2994
|
switch (scope.unwrap()) {
|
|
@@ -3047,33 +3002,10 @@ fn genDefers(
|
|
|
3047
3002
|
.defer_error => |defer_scope| {
|
|
3048
3003
|
scope = defer_scope.parent;
|
|
3049
3004
|
switch (which_ones) {
|
|
3050
|
-
.
|
|
3005
|
+
.normal_only => continue,
|
|
3006
|
+
.normal_and_error => {
|
|
3051
3007
|
try gz.addDefer(defer_scope.index, defer_scope.len);
|
|
3052
3008
|
},
|
|
3053
|
-
.both => |err_code| {
|
|
3054
|
-
if (defer_scope.remapped_err_code.unwrap()) |remapped_err_code| {
|
|
3055
|
-
try gz.instructions.ensureUnusedCapacity(gpa, 1);
|
|
3056
|
-
try gz.astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
3057
|
-
|
|
3058
|
-
const payload_index = try gz.astgen.addExtra(Zir.Inst.DeferErrCode{
|
|
3059
|
-
.remapped_err_code = remapped_err_code,
|
|
3060
|
-
.index = defer_scope.index,
|
|
3061
|
-
.len = defer_scope.len,
|
|
3062
|
-
});
|
|
3063
|
-
const new_index: Zir.Inst.Index = @enumFromInt(gz.astgen.instructions.len);
|
|
3064
|
-
gz.astgen.instructions.appendAssumeCapacity(.{
|
|
3065
|
-
.tag = .defer_err_code,
|
|
3066
|
-
.data = .{ .defer_err_code = .{
|
|
3067
|
-
.err_code = err_code,
|
|
3068
|
-
.payload_index = payload_index,
|
|
3069
|
-
} },
|
|
3070
|
-
});
|
|
3071
|
-
gz.instructions.appendAssumeCapacity(new_index);
|
|
3072
|
-
} else {
|
|
3073
|
-
try gz.addDefer(defer_scope.index, defer_scope.len);
|
|
3074
|
-
}
|
|
3075
|
-
},
|
|
3076
|
-
.normal_only => continue,
|
|
3077
3009
|
}
|
|
3078
3010
|
},
|
|
3079
3011
|
.namespace => unreachable,
|
|
@@ -3136,46 +3068,17 @@ fn deferStmt(
|
|
|
3136
3068
|
defer defer_gen.unstack();
|
|
3137
3069
|
|
|
3138
3070
|
const tree = gz.astgen.tree;
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
const payload_token = tree.nodeData(node).opt_token_and_node[0].unwrap() orelse break :blk &defer_gen.base;
|
|
3143
|
-
const ident_name = try gz.astgen.identAsString(payload_token);
|
|
3144
|
-
if (std.mem.eql(u8, tree.tokenSlice(payload_token), "_")) {
|
|
3145
|
-
try gz.astgen.appendErrorTok(payload_token, "discard of error capture; omit it instead", .{});
|
|
3146
|
-
break :blk &defer_gen.base;
|
|
3147
|
-
}
|
|
3148
|
-
const remapped_err_code: Zir.Inst.Index = @enumFromInt(gz.astgen.instructions.len);
|
|
3149
|
-
opt_remapped_err_code = remapped_err_code.toOptional();
|
|
3150
|
-
_ = try gz.astgen.appendPlaceholder();
|
|
3151
|
-
const remapped_err_code_ref = remapped_err_code.toRef();
|
|
3152
|
-
local_val_scope = .{
|
|
3153
|
-
.parent = &defer_gen.base,
|
|
3154
|
-
.gen_zir = gz,
|
|
3155
|
-
.name = ident_name,
|
|
3156
|
-
.inst = remapped_err_code_ref,
|
|
3157
|
-
.token_src = payload_token,
|
|
3158
|
-
.id_cat = .capture,
|
|
3159
|
-
};
|
|
3160
|
-
try gz.addDbgVar(.dbg_var_val, ident_name, remapped_err_code_ref);
|
|
3161
|
-
break :blk &local_val_scope.base;
|
|
3162
|
-
};
|
|
3163
|
-
const expr_node = switch (scope_tag) {
|
|
3164
|
-
.defer_normal => tree.nodeData(node).node,
|
|
3165
|
-
.defer_error => tree.nodeData(node).opt_token_and_node[1],
|
|
3166
|
-
else => unreachable,
|
|
3167
|
-
};
|
|
3168
|
-
_ = try unusedResultExpr(&defer_gen, sub_scope, expr_node);
|
|
3169
|
-
try checkUsed(gz, scope, sub_scope);
|
|
3071
|
+
const expr_node = tree.nodeData(node).node;
|
|
3072
|
+
_ = try unusedResultExpr(&defer_gen, &defer_gen.base, expr_node);
|
|
3073
|
+
try checkUsed(gz, scope, &defer_gen.base);
|
|
3170
3074
|
_ = try defer_gen.addBreak(.break_inline, @enumFromInt(0), .void_value);
|
|
3171
3075
|
|
|
3172
3076
|
const body = defer_gen.instructionsSlice();
|
|
3173
|
-
const
|
|
3174
|
-
const body_len = gz.astgen.countBodyLenAfterFixupsExtraRefs(body, extra_insts);
|
|
3077
|
+
const body_len = gz.astgen.countBodyLenAfterFixupsExtraRefs(body, &.{});
|
|
3175
3078
|
|
|
3176
3079
|
const index: u32 = @intCast(gz.astgen.extra.items.len);
|
|
3177
3080
|
try gz.astgen.extra.ensureUnusedCapacity(gz.astgen.gpa, body_len);
|
|
3178
|
-
gz.astgen.appendBodyWithFixupsExtraRefsArrayList(&gz.astgen.extra, body,
|
|
3081
|
+
gz.astgen.appendBodyWithFixupsExtraRefsArrayList(&gz.astgen.extra, body, &.{});
|
|
3179
3082
|
|
|
3180
3083
|
const defer_scope = try block_arena.create(Scope.Defer);
|
|
3181
3084
|
|
|
@@ -3184,7 +3087,6 @@ fn deferStmt(
|
|
|
3184
3087
|
.parent = scope,
|
|
3185
3088
|
.index = index,
|
|
3186
3089
|
.len = body_len,
|
|
3187
|
-
.remapped_err_code = opt_remapped_err_code,
|
|
3188
3090
|
};
|
|
3189
3091
|
return &defer_scope.base;
|
|
3190
3092
|
}
|
|
@@ -3880,7 +3782,7 @@ fn ptrType(
|
|
|
3880
3782
|
gz.astgen.source_line = source_line;
|
|
3881
3783
|
gz.astgen.source_column = source_column;
|
|
3882
3784
|
|
|
3883
|
-
const addrspace_ty = try gz.
|
|
3785
|
+
const addrspace_ty = try gz.addStdLangValue(addrspace_node, .address_space);
|
|
3884
3786
|
addrspace_ref = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = addrspace_ty } }, addrspace_node, .@"addrspace");
|
|
3885
3787
|
trailing_count += 1;
|
|
3886
3788
|
}
|
|
@@ -3902,7 +3804,7 @@ fn ptrType(
|
|
|
3902
3804
|
const gpa = gz.astgen.gpa;
|
|
3903
3805
|
try gz.instructions.ensureUnusedCapacity(gpa, 1);
|
|
3904
3806
|
try gz.astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
3905
|
-
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.PtrType).@"struct".
|
|
3807
|
+
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.PtrType).@"struct".field_names.len +
|
|
3906
3808
|
trailing_count);
|
|
3907
3809
|
|
|
3908
3810
|
const payload_index = gz.astgen.addExtraAssumeCapacity(Zir.Inst.PtrType{
|
|
@@ -4175,7 +4077,7 @@ fn fnDecl(
|
|
|
4175
4077
|
|
|
4176
4078
|
if (fn_proto.ast.addrspace_expr.unwrap()) |addrspace_expr| {
|
|
4177
4079
|
astgen.restoreSourceCursor(saved_cursor);
|
|
4178
|
-
const addrspace_ty = try addrspace_gz.
|
|
4080
|
+
const addrspace_ty = try addrspace_gz.addStdLangValue(addrspace_expr, .address_space);
|
|
4179
4081
|
const inst = try expr(&addrspace_gz, &addrspace_gz.base, .{ .rl = .{ .coerced_ty = addrspace_ty } }, addrspace_expr);
|
|
4180
4082
|
_ = try addrspace_gz.addBreakWithSrcNode(.break_inline, decl_inst, inst, decl_node);
|
|
4181
4083
|
}
|
|
@@ -4383,7 +4285,7 @@ fn fnDeclInner(
|
|
|
4383
4285
|
const inst = try expr(
|
|
4384
4286
|
&cc_gz,
|
|
4385
4287
|
scope,
|
|
4386
|
-
.{ .rl = .{ .coerced_ty = try cc_gz.
|
|
4288
|
+
.{ .rl = .{ .coerced_ty = try cc_gz.addStdLangValue(callconv_expr, .calling_convention) } },
|
|
4387
4289
|
callconv_expr,
|
|
4388
4290
|
);
|
|
4389
4291
|
if (cc_gz.instructionsSlice().len == 0) {
|
|
@@ -4393,7 +4295,7 @@ fn fnDeclInner(
|
|
|
4393
4295
|
_ = try cc_gz.addBreak(.break_inline, @enumFromInt(0), inst);
|
|
4394
4296
|
break :blk inst;
|
|
4395
4297
|
} else if (has_inline_keyword) {
|
|
4396
|
-
const inst = try cc_gz.
|
|
4298
|
+
const inst = try cc_gz.addStdLangValue(decl_node, .calling_convention_inline);
|
|
4397
4299
|
_ = try cc_gz.addBreak(.break_inline, @enumFromInt(0), inst);
|
|
4398
4300
|
break :blk inst;
|
|
4399
4301
|
} else {
|
|
@@ -4591,7 +4493,7 @@ fn globalVarDecl(
|
|
|
4591
4493
|
defer addrspace_gz.unstack();
|
|
4592
4494
|
|
|
4593
4495
|
if (var_decl.ast.addrspace_node.unwrap()) |addrspace_node| {
|
|
4594
|
-
const addrspace_ty = try addrspace_gz.
|
|
4496
|
+
const addrspace_ty = try addrspace_gz.addStdLangValue(addrspace_node, .address_space);
|
|
4595
4497
|
const addrspace_inst = try expr(&addrspace_gz, &addrspace_gz.base, .{ .rl = .{ .coerced_ty = addrspace_ty } }, addrspace_node);
|
|
4596
4498
|
_ = try addrspace_gz.addBreakWithSrcNode(.break_inline, decl_inst, addrspace_inst, node);
|
|
4597
4499
|
}
|
|
@@ -4878,7 +4780,7 @@ fn testDecl(
|
|
|
4878
4780
|
.noalias_bits = 0,
|
|
4879
4781
|
|
|
4880
4782
|
// Tests don't have a prototype that needs hashing
|
|
4881
|
-
.proto_hash =
|
|
4783
|
+
.proto_hash = @splat(0),
|
|
4882
4784
|
});
|
|
4883
4785
|
|
|
4884
4786
|
_ = try decl_block.addBreak(.break_inline, decl_inst, func_inst);
|
|
@@ -4913,7 +4815,7 @@ fn structDeclInner(
|
|
|
4913
4815
|
scope: *Scope,
|
|
4914
4816
|
node: Ast.Node.Index,
|
|
4915
4817
|
container_decl: Ast.full.ContainerDecl,
|
|
4916
|
-
layout: std.
|
|
4818
|
+
layout: std.lang.Type.ContainerLayout,
|
|
4917
4819
|
maybe_backing_int_node: Ast.Node.OptionalIndex,
|
|
4918
4820
|
name_strat: Zir.Inst.NameStrategy,
|
|
4919
4821
|
) InnerError!Zir.Inst.Ref {
|
|
@@ -4997,6 +4899,10 @@ fn structDeclInner(
|
|
|
4997
4899
|
);
|
|
4998
4900
|
if (field_comptime_bits) |bits| @memset(bits.get(astgen), 0);
|
|
4999
4901
|
|
|
4902
|
+
const old_hasher = astgen.src_hasher;
|
|
4903
|
+
defer astgen.src_hasher = old_hasher;
|
|
4904
|
+
astgen.src_hasher = .init(.{});
|
|
4905
|
+
|
|
5000
4906
|
// Before any field bodies comes the backing int type, if specified.
|
|
5001
4907
|
const backing_int_type_body_len: ?u32 = if (maybe_backing_int_node.unwrap()) |backing_int_node| len: {
|
|
5002
4908
|
if (layout != .@"packed") return astgen.failNode(
|
|
@@ -5004,6 +4910,7 @@ fn structDeclInner(
|
|
|
5004
4910
|
"non-packed struct does not support backing integer type",
|
|
5005
4911
|
.{},
|
|
5006
4912
|
);
|
|
4913
|
+
astgen.src_hasher.update(astgen.tree.getNodeSource(backing_int_node));
|
|
5007
4914
|
const type_ref = try typeExpr(&block_scope, &namespace.base, backing_int_node);
|
|
5008
4915
|
if (!block_scope.endsWithNoReturn()) {
|
|
5009
4916
|
_ = try block_scope.addBreak(.break_inline, decl_inst, type_ref);
|
|
@@ -5013,10 +4920,6 @@ fn structDeclInner(
|
|
|
5013
4920
|
break :len body_len;
|
|
5014
4921
|
} else null;
|
|
5015
4922
|
|
|
5016
|
-
const old_hasher = astgen.src_hasher;
|
|
5017
|
-
defer astgen.src_hasher = old_hasher;
|
|
5018
|
-
astgen.src_hasher = .init(.{});
|
|
5019
|
-
|
|
5020
4923
|
var next_field_idx: u32 = 0;
|
|
5021
4924
|
for (container_decl.ast.members) |member_node| {
|
|
5022
4925
|
var member = switch (try containerMember(&block_scope, &namespace.base, &wip_decls, member_node)) {
|
|
@@ -5117,7 +5020,7 @@ fn tupleDecl(
|
|
|
5117
5020
|
scope: *Scope,
|
|
5118
5021
|
node: Ast.Node.Index,
|
|
5119
5022
|
container_decl: Ast.full.ContainerDecl,
|
|
5120
|
-
layout: std.
|
|
5023
|
+
layout: std.lang.Type.ContainerLayout,
|
|
5121
5024
|
backing_int_node: Ast.Node.OptionalIndex,
|
|
5122
5025
|
) InnerError!Zir.Inst.Ref {
|
|
5123
5026
|
const astgen = gz.astgen;
|
|
@@ -5193,7 +5096,7 @@ fn tupleDecl(
|
|
|
5193
5096
|
|
|
5194
5097
|
const extra_trail = astgen.scratch.items[fields_start..];
|
|
5195
5098
|
assert(extra_trail.len == fields_len * 2);
|
|
5196
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.TupleDecl).@"struct".
|
|
5099
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.TupleDecl).@"struct".field_names.len + extra_trail.len);
|
|
5197
5100
|
const payload_index = astgen.addExtraAssumeCapacity(Zir.Inst.TupleDecl{
|
|
5198
5101
|
.src_node = gz.nodeIndexToRelative(node),
|
|
5199
5102
|
});
|
|
@@ -5214,7 +5117,7 @@ fn unionDeclInner(
|
|
|
5214
5117
|
scope: *Scope,
|
|
5215
5118
|
node: Ast.Node.Index,
|
|
5216
5119
|
members: []const Ast.Node.Index,
|
|
5217
|
-
layout: std.
|
|
5120
|
+
layout: std.lang.Type.ContainerLayout,
|
|
5218
5121
|
opt_arg_node: Ast.Node.OptionalIndex,
|
|
5219
5122
|
auto_enum_tok: ?Ast.TokenIndex,
|
|
5220
5123
|
name_strat: Zir.Inst.NameStrategy,
|
|
@@ -5277,8 +5180,13 @@ fn unionDeclInner(
|
|
|
5277
5180
|
const field_align_body_lens = try scratch.addOptionalSlice(scan_result.any_field_aligns, scan_result.fields_len);
|
|
5278
5181
|
const field_value_body_lens = try scratch.addOptionalSlice(scan_result.any_field_values, scan_result.fields_len);
|
|
5279
5182
|
|
|
5183
|
+
const old_hasher = astgen.src_hasher;
|
|
5184
|
+
defer astgen.src_hasher = old_hasher;
|
|
5185
|
+
astgen.src_hasher = .init(.{});
|
|
5186
|
+
|
|
5280
5187
|
// Before any field bodies comes the tag/backing type, if specified.
|
|
5281
5188
|
const arg_type_body_len: ?u32 = if (opt_arg_node.unwrap()) |arg_node| len: {
|
|
5189
|
+
astgen.src_hasher.update(astgen.tree.getNodeSource(arg_node));
|
|
5282
5190
|
const type_ref = try typeExpr(&block_scope, &namespace.base, arg_node);
|
|
5283
5191
|
if (!block_scope.endsWithNoReturn()) {
|
|
5284
5192
|
_ = try block_scope.addBreak(.break_inline, decl_inst, type_ref);
|
|
@@ -5288,10 +5196,6 @@ fn unionDeclInner(
|
|
|
5288
5196
|
break :len body_len;
|
|
5289
5197
|
} else null;
|
|
5290
5198
|
|
|
5291
|
-
const old_hasher = astgen.src_hasher;
|
|
5292
|
-
defer astgen.src_hasher = old_hasher;
|
|
5293
|
-
astgen.src_hasher = .init(.{});
|
|
5294
|
-
|
|
5295
5199
|
var next_field_idx: u32 = 0;
|
|
5296
5200
|
for (members) |member_node| {
|
|
5297
5201
|
var member = switch (try containerMember(&block_scope, &namespace.base, &wip_decls, member_node)) {
|
|
@@ -5420,7 +5324,7 @@ fn containerDecl(
|
|
|
5420
5324
|
|
|
5421
5325
|
switch (tree.tokenTag(container_decl.ast.main_token)) {
|
|
5422
5326
|
.keyword_struct => {
|
|
5423
|
-
const layout: std.
|
|
5327
|
+
const layout: std.lang.Type.ContainerLayout = if (container_decl.layout_token) |t| switch (tree.tokenTag(t)) {
|
|
5424
5328
|
.keyword_packed => .@"packed",
|
|
5425
5329
|
.keyword_extern => .@"extern",
|
|
5426
5330
|
else => unreachable,
|
|
@@ -5430,7 +5334,7 @@ fn containerDecl(
|
|
|
5430
5334
|
return rvalue(gz, ri, result, node);
|
|
5431
5335
|
},
|
|
5432
5336
|
.keyword_union => {
|
|
5433
|
-
const layout: std.
|
|
5337
|
+
const layout: std.lang.Type.ContainerLayout = if (container_decl.layout_token) |t| switch (tree.tokenTag(t)) {
|
|
5434
5338
|
.keyword_packed => .@"packed",
|
|
5435
5339
|
.keyword_extern => .@"extern",
|
|
5436
5340
|
else => unreachable,
|
|
@@ -5482,8 +5386,13 @@ fn containerDecl(
|
|
|
5482
5386
|
const field_names = try scratch.addSlice(fields_len);
|
|
5483
5387
|
const field_value_body_lens = try scratch.addOptionalSlice(scan_result.any_field_values, fields_len);
|
|
5484
5388
|
|
|
5389
|
+
const old_hasher = astgen.src_hasher;
|
|
5390
|
+
defer astgen.src_hasher = old_hasher;
|
|
5391
|
+
astgen.src_hasher = .init(.{});
|
|
5392
|
+
|
|
5485
5393
|
// Before any field bodies comes the tag type, if specified.
|
|
5486
5394
|
const tag_type_body_len: ?u32 = if (container_decl.ast.arg.unwrap()) |tag_type_node| len: {
|
|
5395
|
+
astgen.src_hasher.update(astgen.tree.getNodeSource(tag_type_node));
|
|
5487
5396
|
const type_ref = try typeExpr(&block_scope, &namespace.base, tag_type_node);
|
|
5488
5397
|
if (!block_scope.endsWithNoReturn()) {
|
|
5489
5398
|
_ = try block_scope.addBreak(.break_inline, decl_inst, type_ref);
|
|
@@ -5493,10 +5402,6 @@ fn containerDecl(
|
|
|
5493
5402
|
break :len body_len;
|
|
5494
5403
|
} else null;
|
|
5495
5404
|
|
|
5496
|
-
const old_hasher = astgen.src_hasher;
|
|
5497
|
-
defer astgen.src_hasher = old_hasher;
|
|
5498
|
-
astgen.src_hasher = .init(.{});
|
|
5499
|
-
|
|
5500
5405
|
var next_field_idx: u32 = 0;
|
|
5501
5406
|
var opt_nonexhaustive_node: Ast.Node.OptionalIndex = .none;
|
|
5502
5407
|
for (container_decl.ast.members) |member_node| {
|
|
@@ -5680,7 +5585,7 @@ fn containerMember(
|
|
|
5680
5585
|
|
|
5681
5586
|
const prev_decl_index = wip_decls.index;
|
|
5682
5587
|
astgen.fnDecl(gz, scope, wip_decls, member_node, body, full) catch |err| switch (err) {
|
|
5683
|
-
error.OutOfMemory => return
|
|
5588
|
+
error.OutOfMemory => |e| return e,
|
|
5684
5589
|
error.AnalysisFail => {
|
|
5685
5590
|
wip_decls.index = prev_decl_index;
|
|
5686
5591
|
try addFailedDeclaration(
|
|
@@ -5703,7 +5608,7 @@ fn containerMember(
|
|
|
5703
5608
|
const full = tree.fullVarDecl(member_node).?;
|
|
5704
5609
|
const prev_decl_index = wip_decls.index;
|
|
5705
5610
|
astgen.globalVarDecl(gz, scope, wip_decls, member_node, full) catch |err| switch (err) {
|
|
5706
|
-
error.OutOfMemory => return
|
|
5611
|
+
error.OutOfMemory => |e| return e,
|
|
5707
5612
|
error.AnalysisFail => {
|
|
5708
5613
|
wip_decls.index = prev_decl_index;
|
|
5709
5614
|
try addFailedDeclaration(
|
|
@@ -5721,7 +5626,7 @@ fn containerMember(
|
|
|
5721
5626
|
.@"comptime" => {
|
|
5722
5627
|
const prev_decl_index = wip_decls.index;
|
|
5723
5628
|
astgen.comptimeDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {
|
|
5724
|
-
error.OutOfMemory => return
|
|
5629
|
+
error.OutOfMemory => |e| return e,
|
|
5725
5630
|
error.AnalysisFail => {
|
|
5726
5631
|
wip_decls.index = prev_decl_index;
|
|
5727
5632
|
try addFailedDeclaration(
|
|
@@ -5741,7 +5646,7 @@ fn containerMember(
|
|
|
5741
5646
|
// Since it doesn't strictly matter *what* this is, let's save ourselves the trouble
|
|
5742
5647
|
// of duplicating the test name logic, and just assume this is an unnamed test.
|
|
5743
5648
|
astgen.testDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {
|
|
5744
|
-
error.OutOfMemory => return
|
|
5649
|
+
error.OutOfMemory => |e| return e,
|
|
5745
5650
|
error.AnalysisFail => {
|
|
5746
5651
|
wip_decls.index = prev_decl_index;
|
|
5747
5652
|
try addFailedDeclaration(
|
|
@@ -5765,7 +5670,7 @@ fn errorSetDecl(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index) InnerError!Zi
|
|
|
5765
5670
|
const gpa = astgen.gpa;
|
|
5766
5671
|
const tree = astgen.tree;
|
|
5767
5672
|
|
|
5768
|
-
const payload_index = try reserveExtra(astgen, @typeInfo(Zir.Inst.ErrorSetDecl).@"struct".
|
|
5673
|
+
const payload_index = try reserveExtra(astgen, @typeInfo(Zir.Inst.ErrorSetDecl).@"struct".field_names.len);
|
|
5769
5674
|
var fields_len: usize = 0;
|
|
5770
5675
|
{
|
|
5771
5676
|
var idents: std.AutoHashMapUnmanaged(Zir.NullTerminatedString, Ast.TokenIndex) = .empty;
|
|
@@ -5875,7 +5780,7 @@ fn tryExpr(
|
|
|
5875
5780
|
else => Zir.Inst.Tag.err_union_code,
|
|
5876
5781
|
};
|
|
5877
5782
|
const err_code = try else_scope.addUnNode(err_tag, operand, node);
|
|
5878
|
-
try genDefers(&else_scope, &fn_block.base, scope, .
|
|
5783
|
+
try genDefers(&else_scope, &fn_block.base, scope, .normal_and_error);
|
|
5879
5784
|
try emitDbgStmt(&else_scope, try_lc);
|
|
5880
5785
|
_ = try else_scope.addUnNode(.ret_node, err_code, node);
|
|
5881
5786
|
|
|
@@ -6427,7 +6332,7 @@ fn setCondBrPayload(
|
|
|
6427
6332
|
const else_body_len = astgen.countBodyLenAfterFixups(else_body);
|
|
6428
6333
|
try astgen.extra.ensureUnusedCapacity(
|
|
6429
6334
|
astgen.gpa,
|
|
6430
|
-
@typeInfo(Zir.Inst.CondBr).@"struct".
|
|
6335
|
+
@typeInfo(Zir.Inst.CondBr).@"struct".field_names.len + then_body_len + else_body_len,
|
|
6431
6336
|
);
|
|
6432
6337
|
|
|
6433
6338
|
const zir_datas = astgen.instructions.items(.data);
|
|
@@ -6655,9 +6560,16 @@ fn whileExpr(
|
|
|
6655
6560
|
.operand = undefined,
|
|
6656
6561
|
} },
|
|
6657
6562
|
});
|
|
6563
|
+
if (!continue_scope.is_comptime) {
|
|
6564
|
+
_ = try continue_scope.addRestoreErrRetIndex(.{ .block = continue_block }, .always, then_node);
|
|
6565
|
+
}
|
|
6658
6566
|
_ = try continue_scope.addBreak(break_tag, continue_block, .void_value);
|
|
6659
6567
|
}
|
|
6660
6568
|
try continue_scope.setBlockBody(continue_block);
|
|
6569
|
+
if (!then_scope.is_comptime) {
|
|
6570
|
+
const cont_node = while_full.ast.cont_expr.unwrap() orelse then_node;
|
|
6571
|
+
_ = try then_scope.addRestoreErrRetIndex(.{ .block = cond_block }, .always, cont_node);
|
|
6572
|
+
}
|
|
6661
6573
|
_ = try then_scope.addBreak(break_tag, cond_block, .void_value);
|
|
6662
6574
|
|
|
6663
6575
|
var else_scope = parent_gz.makeSubBlock(&cond_scope.base);
|
|
@@ -6702,6 +6614,9 @@ fn whileExpr(
|
|
|
6702
6614
|
|
|
6703
6615
|
try checkUsed(parent_gz, &else_scope.base, sub_scope);
|
|
6704
6616
|
if (!else_scope.endsWithNoReturn()) {
|
|
6617
|
+
if (!else_scope.is_comptime) {
|
|
6618
|
+
_ = try else_scope.addRestoreErrRetIndex(.{ .block = loop_block }, .always, else_node);
|
|
6619
|
+
}
|
|
6705
6620
|
_ = try else_scope.addBreakWithSrcNode(break_tag, loop_block, else_result, else_node);
|
|
6706
6621
|
}
|
|
6707
6622
|
} else {
|
|
@@ -6846,7 +6761,7 @@ fn forExpr(
|
|
|
6846
6761
|
const len: Zir.Inst.Ref = len: {
|
|
6847
6762
|
const all_lens = @as([*]Zir.Inst.Ref, @ptrCast(lens))[0 .. lens.len * 2];
|
|
6848
6763
|
const lens_len: u32 = @intCast(all_lens.len);
|
|
6849
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.MultiOp).@"struct".
|
|
6764
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.MultiOp).@"struct".field_names.len + lens_len);
|
|
6850
6765
|
const len = try parent_gz.addPlNode(.for_len, node, Zir.Inst.MultiOp{
|
|
6851
6766
|
.operands_len = lens_len,
|
|
6852
6767
|
});
|
|
@@ -6972,6 +6887,9 @@ fn forExpr(
|
|
|
6972
6887
|
});
|
|
6973
6888
|
|
|
6974
6889
|
const break_tag: Zir.Inst.Tag = if (is_inline) .break_inline else .@"break";
|
|
6890
|
+
if (!then_scope.is_comptime) {
|
|
6891
|
+
_ = try then_scope.addRestoreErrRetIndex(.{ .block = cond_block }, .always, then_node);
|
|
6892
|
+
}
|
|
6975
6893
|
_ = try then_scope.addBreak(break_tag, cond_block, .void_value);
|
|
6976
6894
|
|
|
6977
6895
|
var else_scope = parent_gz.makeSubBlock(&cond_scope.base);
|
|
@@ -6989,6 +6907,9 @@ fn forExpr(
|
|
|
6989
6907
|
_ = try addEnsureResult(&else_scope, else_result, else_node);
|
|
6990
6908
|
}
|
|
6991
6909
|
if (!else_scope.endsWithNoReturn()) {
|
|
6910
|
+
if (!else_scope.is_comptime) {
|
|
6911
|
+
_ = try else_scope.addRestoreErrRetIndex(.{ .block = loop_block }, .always, else_node);
|
|
6912
|
+
}
|
|
6992
6913
|
_ = try else_scope.addBreakWithSrcNode(break_tag, loop_block, else_result, else_node);
|
|
6993
6914
|
}
|
|
6994
6915
|
} else {
|
|
@@ -7870,7 +7791,7 @@ fn switchExpr(
|
|
|
7870
7791
|
// by copying our bodies from `payloads` to `extra`, this time in the order
|
|
7871
7792
|
// expected by ZIR consumers.
|
|
7872
7793
|
|
|
7873
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.SwitchBlock).@"struct".
|
|
7794
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.SwitchBlock).@"struct".field_names.len +
|
|
7874
7795
|
@intFromBool(multi_cases_len > 0) + // multi_cases_len
|
|
7875
7796
|
@intFromBool(payload_capture_inst_is_placeholder) + // payload_capture_placeholder
|
|
7876
7797
|
@intFromBool(tag_capture_inst_is_placeholder) + // tag_capture_placeholder
|
|
@@ -8010,18 +7931,10 @@ fn ret(gz: *GenZir, scope: *Scope, node: Ast.Node.Index) InnerError!Zir.Inst.Ref
|
|
|
8010
7931
|
// for detecting whether to add something to the function's inferred error set.
|
|
8011
7932
|
const ident_token = tree.nodeMainToken(operand_node) + 2;
|
|
8012
7933
|
const err_name_str_index = try astgen.identAsString(ident_token);
|
|
8013
|
-
|
|
8014
|
-
if (!defer_counts.need_err_code) {
|
|
8015
|
-
try genDefers(gz, defer_outer, scope, .both_sans_err);
|
|
8016
|
-
try emitDbgStmt(gz, ret_lc);
|
|
8017
|
-
_ = try gz.addStrTok(.ret_err_value, err_name_str_index, ident_token);
|
|
8018
|
-
return Zir.Inst.Ref.unreachable_value;
|
|
8019
|
-
}
|
|
8020
|
-
const err_code = try gz.addStrTok(.ret_err_value_code, err_name_str_index, ident_token);
|
|
8021
|
-
try genDefers(gz, defer_outer, scope, .{ .both = err_code });
|
|
7934
|
+
try genDefers(gz, defer_outer, scope, .normal_and_error);
|
|
8022
7935
|
try emitDbgStmt(gz, ret_lc);
|
|
8023
|
-
_ = try gz.
|
|
8024
|
-
return
|
|
7936
|
+
_ = try gz.addStrTok(.ret_err_value, err_name_str_index, ident_token);
|
|
7937
|
+
return .unreachable_value;
|
|
8025
7938
|
}
|
|
8026
7939
|
|
|
8027
7940
|
const ri: ResultInfo = if (astgen.nodes_need_rl.contains(node)) .{
|
|
@@ -8048,15 +7961,13 @@ fn ret(gz: *GenZir, scope: *Scope, node: Ast.Node.Index) InnerError!Zir.Inst.Ref
|
|
|
8048
7961
|
},
|
|
8049
7962
|
.always => {
|
|
8050
7963
|
// Value is always an error. Emit both error defers and regular defers.
|
|
8051
|
-
|
|
8052
|
-
try genDefers(gz, defer_outer, scope, .{ .both = err_code });
|
|
7964
|
+
try genDefers(gz, defer_outer, scope, .normal_and_error);
|
|
8053
7965
|
try emitDbgStmt(gz, ret_lc);
|
|
8054
7966
|
try gz.addRet(ri, operand, node);
|
|
8055
7967
|
return Zir.Inst.Ref.unreachable_value;
|
|
8056
7968
|
},
|
|
8057
7969
|
.maybe => {
|
|
8058
|
-
|
|
8059
|
-
if (!defer_counts.have_err) {
|
|
7970
|
+
if (!anyErrdefers(defer_outer, scope)) {
|
|
8060
7971
|
// Only regular defers; no branch needed.
|
|
8061
7972
|
try genDefers(gz, defer_outer, scope, .normal_only);
|
|
8062
7973
|
try emitDbgStmt(gz, ret_lc);
|
|
@@ -8088,10 +7999,7 @@ fn ret(gz: *GenZir, scope: *Scope, node: Ast.Node.Index) InnerError!Zir.Inst.Ref
|
|
|
8088
7999
|
var else_scope = gz.makeSubBlock(scope);
|
|
8089
8000
|
defer else_scope.unstack();
|
|
8090
8001
|
|
|
8091
|
-
|
|
8092
|
-
.both = try else_scope.addUnNode(.err_union_code, result, node),
|
|
8093
|
-
};
|
|
8094
|
-
try genDefers(&else_scope, defer_outer, scope, which_ones);
|
|
8002
|
+
try genDefers(&else_scope, defer_outer, scope, .normal_and_error);
|
|
8095
8003
|
try emitDbgStmt(&else_scope, ret_lc);
|
|
8096
8004
|
try else_scope.addRet(ri, operand, node);
|
|
8097
8005
|
|
|
@@ -8150,39 +8058,42 @@ fn identifier(
|
|
|
8150
8058
|
return rvalue(gz, ri, zir_const_ref, ident);
|
|
8151
8059
|
}
|
|
8152
8060
|
|
|
8153
|
-
|
|
8154
|
-
|
|
8155
|
-
const
|
|
8156
|
-
|
|
8157
|
-
|
|
8158
|
-
|
|
8159
|
-
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
|
|
8164
|
-
|
|
8165
|
-
|
|
8166
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
-
|
|
8170
|
-
|
|
8171
|
-
"primitive integer type '{s}' exceeds maximum bit width of 65535",
|
|
8172
|
-
.{ident_name_raw},
|
|
8173
|
-
),
|
|
8174
|
-
error.InvalidCharacter => break :integer,
|
|
8175
|
-
};
|
|
8176
|
-
const result = try gz.add(.{
|
|
8177
|
-
.tag = .int_type,
|
|
8178
|
-
.data = .{ .int_type = .{
|
|
8179
|
-
.src_node = gz.nodeIndexToRelative(ident),
|
|
8180
|
-
.signedness = signedness,
|
|
8181
|
-
.bit_count = bit_count,
|
|
8182
|
-
} },
|
|
8183
|
-
});
|
|
8184
|
-
return rvalue(gz, ri, result, ident);
|
|
8061
|
+
int_type: {
|
|
8062
|
+
if (ident_name_raw.len < 2) break :int_type;
|
|
8063
|
+
const signedness: std.lang.Signedness = switch (ident_name_raw[0]) {
|
|
8064
|
+
'u' => .unsigned,
|
|
8065
|
+
'i' => .signed,
|
|
8066
|
+
else => break :int_type,
|
|
8067
|
+
};
|
|
8068
|
+
// `u0` already handled by `primitive_instrs`
|
|
8069
|
+
if (std.mem.eql(u8, ident_name_raw, "i0")) {
|
|
8070
|
+
return astgen.failNode(ident, "signed integer cannot have bit width 0", .{});
|
|
8071
|
+
}
|
|
8072
|
+
if (ident_name_raw[1] == '0') {
|
|
8073
|
+
assert(ident_name_raw.len >= 3); // `u0` and `i0` handled
|
|
8074
|
+
return astgen.failNode(
|
|
8075
|
+
ident,
|
|
8076
|
+
"primitive integer type '{s}' has leading zero",
|
|
8077
|
+
.{ident_name_raw},
|
|
8078
|
+
);
|
|
8185
8079
|
}
|
|
8080
|
+
const bit_count = parseBitCount(ident_name_raw[1..]) catch |err| switch (err) {
|
|
8081
|
+
error.Overflow => return astgen.failNode(
|
|
8082
|
+
ident,
|
|
8083
|
+
"primitive integer type '{s}' exceeds maximum bit width of 65535",
|
|
8084
|
+
.{ident_name_raw},
|
|
8085
|
+
),
|
|
8086
|
+
error.InvalidCharacter => break :int_type,
|
|
8087
|
+
};
|
|
8088
|
+
const result = try gz.add(.{
|
|
8089
|
+
.tag = .int_type,
|
|
8090
|
+
.data = .{ .int_type = .{
|
|
8091
|
+
.src_node = gz.nodeIndexToRelative(ident),
|
|
8092
|
+
.signedness = signedness,
|
|
8093
|
+
.bit_count = bit_count,
|
|
8094
|
+
} },
|
|
8095
|
+
});
|
|
8096
|
+
return rvalue(gz, ri, result, ident);
|
|
8186
8097
|
}
|
|
8187
8098
|
}
|
|
8188
8099
|
|
|
@@ -8404,9 +8315,10 @@ fn tunnelThroughClosure(
|
|
|
8404
8315
|
|
|
8405
8316
|
// Otherwise we need a tunnel. First, figure out the path of namespaces we
|
|
8406
8317
|
// are tunneling through. This is usually only going to be one or two, so
|
|
8407
|
-
// use an
|
|
8408
|
-
var
|
|
8409
|
-
var
|
|
8318
|
+
// use an BFA to optimize for the common case.
|
|
8319
|
+
var bfa_buf: [2]usize = undefined;
|
|
8320
|
+
var bfa: std.heap.BufferFirstAllocator = .init(@ptrCast(&bfa_buf), astgen.arena);
|
|
8321
|
+
var intermediate_tunnels = try bfa.allocator().alloc(*Scope.Namespace, num_tunnels - 1);
|
|
8410
8322
|
|
|
8411
8323
|
const root_ns = ns: {
|
|
8412
8324
|
var i: usize = num_tunnels - 1;
|
|
@@ -8561,7 +8473,7 @@ fn numberLiteral(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index, source_node:
|
|
|
8561
8473
|
big_int.setString(@intFromEnum(base), bytes[prefix_offset..]) catch |err| switch (err) {
|
|
8562
8474
|
error.InvalidCharacter => unreachable, // caught in `parseNumberLiteral`
|
|
8563
8475
|
error.InvalidBase => unreachable, // we only pass 16, 8, 2, see above
|
|
8564
|
-
error.OutOfMemory => return
|
|
8476
|
+
error.OutOfMemory => |e| return e,
|
|
8565
8477
|
};
|
|
8566
8478
|
|
|
8567
8479
|
const limbs = big_int.limbs[0..big_int.len()];
|
|
@@ -8738,7 +8650,7 @@ fn asmExpr(
|
|
|
8738
8650
|
|
|
8739
8651
|
const clobbers: Zir.Inst.Ref = if (full.ast.clobbers.unwrap()) |clobbers_node|
|
|
8740
8652
|
try comptimeExpr(gz, scope, .{ .rl = .{
|
|
8741
|
-
.coerced_ty = try gz.
|
|
8653
|
+
.coerced_ty = try gz.addStdLangValue(clobbers_node, .clobbers),
|
|
8742
8654
|
} }, clobbers_node, .clobber)
|
|
8743
8655
|
else
|
|
8744
8656
|
.none;
|
|
@@ -8966,7 +8878,7 @@ fn typeOf(
|
|
|
8966
8878
|
try gz.instructions.append(gpa, typeof_inst);
|
|
8967
8879
|
return rvalue(gz, ri, typeof_inst.toRef(), node);
|
|
8968
8880
|
}
|
|
8969
|
-
const payload_size: u32 =
|
|
8881
|
+
const payload_size: u32 = @typeInfo(Zir.Inst.TypeOfPeer).@"struct".field_names.len;
|
|
8970
8882
|
const payload_index = try reserveExtra(astgen, payload_size + args.len);
|
|
8971
8883
|
const args_index = payload_index + payload_size;
|
|
8972
8884
|
|
|
@@ -9080,7 +8992,7 @@ fn builtinCall(
|
|
|
9080
8992
|
if (!allow_branch_hint) {
|
|
9081
8993
|
return astgen.failNode(node, "'@branchHint' must appear as the first statement in a function or conditional branch", .{});
|
|
9082
8994
|
}
|
|
9083
|
-
const hint_ty = try gz.
|
|
8995
|
+
const hint_ty = try gz.addStdLangValue(node, .branch_hint);
|
|
9084
8996
|
const hint_val = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = hint_ty } }, params[0], .operand_branchHint);
|
|
9085
8997
|
_ = try gz.addExtendedPayload(.branch_hint, Zir.Inst.UnNode{
|
|
9086
8998
|
.node = gz.nodeIndexToRelative(node),
|
|
@@ -9178,7 +9090,7 @@ fn builtinCall(
|
|
|
9178
9090
|
|
|
9179
9091
|
.@"export" => {
|
|
9180
9092
|
const exported = try expr(gz, scope, .{ .rl = .none }, params[0]);
|
|
9181
|
-
const export_options_ty = try gz.
|
|
9093
|
+
const export_options_ty = try gz.addStdLangValue(node, .export_options);
|
|
9182
9094
|
const options = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = export_options_ty } }, params[1], .export_options);
|
|
9183
9095
|
_ = try gz.addPlNode(.@"export", node, Zir.Inst.Export{
|
|
9184
9096
|
.exported = exported,
|
|
@@ -9188,7 +9100,7 @@ fn builtinCall(
|
|
|
9188
9100
|
},
|
|
9189
9101
|
.@"extern" => {
|
|
9190
9102
|
const type_inst = try typeExpr(gz, scope, params[0]);
|
|
9191
|
-
const extern_options_ty = try gz.
|
|
9103
|
+
const extern_options_ty = try gz.addStdLangValue(node, .extern_options);
|
|
9192
9104
|
const options = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = extern_options_ty } }, params[1], .extern_options);
|
|
9193
9105
|
const result = try gz.addExtendedPayload(.builtin_extern, Zir.Inst.BinNode{
|
|
9194
9106
|
.node = gz.nodeIndexToRelative(node),
|
|
@@ -9198,7 +9110,7 @@ fn builtinCall(
|
|
|
9198
9110
|
return rvalue(gz, ri, result, node);
|
|
9199
9111
|
},
|
|
9200
9112
|
.set_float_mode => {
|
|
9201
|
-
const float_mode_ty = try gz.
|
|
9113
|
+
const float_mode_ty = try gz.addStdLangValue(node, .float_mode);
|
|
9202
9114
|
const order = try expr(gz, scope, .{ .rl = .{ .coerced_ty = float_mode_ty } }, params[0]);
|
|
9203
9115
|
_ = try gz.addExtendedPayload(.set_float_mode, Zir.Inst.UnNode{
|
|
9204
9116
|
.node = gz.nodeIndexToRelative(node),
|
|
@@ -9284,7 +9196,7 @@ fn builtinCall(
|
|
|
9284
9196
|
|
|
9285
9197
|
.EnumLiteral => return rvalue(gz, ri, .enum_literal_type, node),
|
|
9286
9198
|
.Int => {
|
|
9287
|
-
const signedness_ty = try gz.
|
|
9199
|
+
const signedness_ty = try gz.addStdLangValue(node, .signedness);
|
|
9288
9200
|
const result = try gz.addPlNode(.reify_int, node, Zir.Inst.Bin{
|
|
9289
9201
|
.lhs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = signedness_ty } }, params[0], .int_signedness),
|
|
9290
9202
|
.rhs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .u16_type } }, params[1], .int_bit_width),
|
|
@@ -9299,8 +9211,8 @@ fn builtinCall(
|
|
|
9299
9211
|
return rvalue(gz, ri, result, node);
|
|
9300
9212
|
},
|
|
9301
9213
|
.Pointer => {
|
|
9302
|
-
const ptr_size_ty = try gz.
|
|
9303
|
-
const ptr_attrs_ty = try gz.
|
|
9214
|
+
const ptr_size_ty = try gz.addStdLangValue(node, .pointer_size);
|
|
9215
|
+
const ptr_attrs_ty = try gz.addStdLangValue(node, .pointer_attributes);
|
|
9304
9216
|
const size = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = ptr_size_ty } }, params[0], .pointer_size);
|
|
9305
9217
|
const attrs = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = ptr_attrs_ty } }, params[1], .pointer_attrs);
|
|
9306
9218
|
const elem_ty = try typeExpr(gz, scope, params[2]);
|
|
@@ -9319,7 +9231,7 @@ fn builtinCall(
|
|
|
9319
9231
|
return rvalue(gz, ri, result, node);
|
|
9320
9232
|
},
|
|
9321
9233
|
.Fn => {
|
|
9322
|
-
const fn_attrs_ty = try gz.
|
|
9234
|
+
const fn_attrs_ty = try gz.addStdLangValue(node, .fn_attributes);
|
|
9323
9235
|
const param_types = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_type_type } }, params[0], .fn_param_types);
|
|
9324
9236
|
const param_attrs_ty = try gz.addExtendedPayloadSmall(
|
|
9325
9237
|
.reify_slice_arg_ty,
|
|
@@ -9339,7 +9251,7 @@ fn builtinCall(
|
|
|
9339
9251
|
return rvalue(gz, ri, result, node);
|
|
9340
9252
|
},
|
|
9341
9253
|
.Struct => {
|
|
9342
|
-
const container_layout_ty = try gz.
|
|
9254
|
+
const container_layout_ty = try gz.addStdLangValue(node, .container_layout);
|
|
9343
9255
|
const layout = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = container_layout_ty } }, params[0], .struct_layout);
|
|
9344
9256
|
const backing_ty = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .optional_type_type } }, params[1], .type);
|
|
9345
9257
|
const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .struct_field_names);
|
|
@@ -9367,7 +9279,7 @@ fn builtinCall(
|
|
|
9367
9279
|
return rvalue(gz, ri, result, node);
|
|
9368
9280
|
},
|
|
9369
9281
|
.Union => {
|
|
9370
|
-
const container_layout_ty = try gz.
|
|
9282
|
+
const container_layout_ty = try gz.addStdLangValue(node, .container_layout);
|
|
9371
9283
|
const layout = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = container_layout_ty } }, params[0], .union_layout);
|
|
9372
9284
|
const arg_ty = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .optional_type_type } }, params[1], .type);
|
|
9373
9285
|
const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .union_field_names);
|
|
@@ -9395,7 +9307,7 @@ fn builtinCall(
|
|
|
9395
9307
|
return rvalue(gz, ri, result, node);
|
|
9396
9308
|
},
|
|
9397
9309
|
.Enum => {
|
|
9398
|
-
const enum_mode_ty = try gz.
|
|
9310
|
+
const enum_mode_ty = try gz.addStdLangValue(node, .enum_mode);
|
|
9399
9311
|
const tag_ty = try typeExpr(gz, scope, params[0]);
|
|
9400
9312
|
const mode = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = enum_mode_ty } }, params[1], .type);
|
|
9401
9313
|
const field_names = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .slice_const_slice_const_u8_type } }, params[2], .enum_field_names);
|
|
@@ -9513,7 +9425,7 @@ fn builtinCall(
|
|
|
9513
9425
|
return rvalue(gz, ri, result, node);
|
|
9514
9426
|
},
|
|
9515
9427
|
.reduce => {
|
|
9516
|
-
const reduce_op_ty = try gz.
|
|
9428
|
+
const reduce_op_ty = try gz.addStdLangValue(node, .reduce_op);
|
|
9517
9429
|
const op = try expr(gz, scope, .{ .rl = .{ .coerced_ty = reduce_op_ty } }, params[0]);
|
|
9518
9430
|
const scalar = try expr(gz, scope, .{ .rl = .none }, params[1]);
|
|
9519
9431
|
const result = try gz.addPlNode(.reduce, node, Zir.Inst.Bin{
|
|
@@ -9529,7 +9441,7 @@ fn builtinCall(
|
|
|
9529
9441
|
.shl_with_overflow => return overflowArithmetic(gz, scope, ri, node, params, .shl_with_overflow),
|
|
9530
9442
|
|
|
9531
9443
|
.atomic_load => {
|
|
9532
|
-
const atomic_order_type = try gz.
|
|
9444
|
+
const atomic_order_type = try gz.addStdLangValue(node, .atomic_order);
|
|
9533
9445
|
const result = try gz.addPlNode(.atomic_load, node, Zir.Inst.AtomicLoad{
|
|
9534
9446
|
// zig fmt: off
|
|
9535
9447
|
.elem_type = try typeExpr(gz, scope, params[0]),
|
|
@@ -9540,8 +9452,8 @@ fn builtinCall(
|
|
|
9540
9452
|
return rvalue(gz, ri, result, node);
|
|
9541
9453
|
},
|
|
9542
9454
|
.atomic_rmw => {
|
|
9543
|
-
const atomic_order_type = try gz.
|
|
9544
|
-
const atomic_rmw_op_type = try gz.
|
|
9455
|
+
const atomic_order_type = try gz.addStdLangValue(node, .atomic_order);
|
|
9456
|
+
const atomic_rmw_op_type = try gz.addStdLangValue(node, .atomic_rmw_op);
|
|
9545
9457
|
const int_type = try typeExpr(gz, scope, params[0]);
|
|
9546
9458
|
const result = try gz.addPlNode(.atomic_rmw, node, Zir.Inst.AtomicRmw{
|
|
9547
9459
|
// zig fmt: off
|
|
@@ -9554,7 +9466,7 @@ fn builtinCall(
|
|
|
9554
9466
|
return rvalue(gz, ri, result, node);
|
|
9555
9467
|
},
|
|
9556
9468
|
.atomic_store => {
|
|
9557
|
-
const atomic_order_type = try gz.
|
|
9469
|
+
const atomic_order_type = try gz.addStdLangValue(node, .atomic_order);
|
|
9558
9470
|
const int_type = try typeExpr(gz, scope, params[0]);
|
|
9559
9471
|
_ = try gz.addPlNode(.atomic_store, node, Zir.Inst.AtomicStore{
|
|
9560
9472
|
// zig fmt: off
|
|
@@ -9578,7 +9490,7 @@ fn builtinCall(
|
|
|
9578
9490
|
return rvalue(gz, ri, result, node);
|
|
9579
9491
|
},
|
|
9580
9492
|
.call => {
|
|
9581
|
-
const call_modifier_ty = try gz.
|
|
9493
|
+
const call_modifier_ty = try gz.addStdLangValue(node, .call_modifier);
|
|
9582
9494
|
const modifier = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = call_modifier_ty } }, params[0], .call_modifier);
|
|
9583
9495
|
const callee = try expr(gz, scope, .{ .rl = .none }, params[1]);
|
|
9584
9496
|
const args = try expr(gz, scope, .{ .rl = .none }, params[2]);
|
|
@@ -9655,7 +9567,7 @@ fn builtinCall(
|
|
|
9655
9567
|
return rvalue(gz, ri, result, node);
|
|
9656
9568
|
},
|
|
9657
9569
|
.prefetch => {
|
|
9658
|
-
const prefetch_options_ty = try gz.
|
|
9570
|
+
const prefetch_options_ty = try gz.addStdLangValue(node, .prefetch_options);
|
|
9659
9571
|
const ptr = try expr(gz, scope, .{ .rl = .none }, params[0]);
|
|
9660
9572
|
const options = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = prefetch_options_ty } }, params[1], .prefetch_options);
|
|
9661
9573
|
_ = try gz.addExtendedPayload(.prefetch, Zir.Inst.BinNode{
|
|
@@ -9888,7 +9800,7 @@ fn cmpxchg(
|
|
|
9888
9800
|
small: u16,
|
|
9889
9801
|
) InnerError!Zir.Inst.Ref {
|
|
9890
9802
|
const int_type = try typeExpr(gz, scope, params[0]);
|
|
9891
|
-
const atomic_order_type = try gz.
|
|
9803
|
+
const atomic_order_type = try gz.addStdLangValue(node, .atomic_order);
|
|
9892
9804
|
const result = try gz.addExtendedPayloadSmall(.cmpxchg, small, Zir.Inst.Cmpxchg{
|
|
9893
9805
|
// zig fmt: off
|
|
9894
9806
|
.node = gz.nodeIndexToRelative(node),
|
|
@@ -10013,7 +9925,7 @@ fn callExpr(
|
|
|
10013
9925
|
const astgen = gz.astgen;
|
|
10014
9926
|
|
|
10015
9927
|
const callee = try calleeExpr(gz, scope, ri.rl, override_decl_literal_type, call.ast.fn_expr);
|
|
10016
|
-
const modifier: std.
|
|
9928
|
+
const modifier: std.lang.CallModifier = blk: {
|
|
10017
9929
|
if (gz.nosuspend_node != .none) {
|
|
10018
9930
|
break :blk .no_suspend;
|
|
10019
9931
|
}
|
|
@@ -10198,32 +10110,37 @@ const primitive_instrs = std.StaticStringMap(Zir.Inst.Ref).initComptime(.{
|
|
|
10198
10110
|
.{ "c_ushort", .c_ushort_type },
|
|
10199
10111
|
.{ "comptime_float", .comptime_float_type },
|
|
10200
10112
|
.{ "comptime_int", .comptime_int_type },
|
|
10201
|
-
.{ "f128", .f128_type },
|
|
10202
|
-
.{ "f16", .f16_type },
|
|
10203
|
-
.{ "f32", .f32_type },
|
|
10204
|
-
.{ "f64", .f64_type },
|
|
10205
|
-
.{ "f80", .f80_type },
|
|
10206
10113
|
.{ "false", .bool_false },
|
|
10207
|
-
.{ "i16", .i16_type },
|
|
10208
|
-
.{ "i32", .i32_type },
|
|
10209
|
-
.{ "i64", .i64_type },
|
|
10210
|
-
.{ "i128", .i128_type },
|
|
10211
|
-
.{ "i8", .i8_type },
|
|
10212
|
-
.{ "isize", .isize_type },
|
|
10213
10114
|
.{ "noreturn", .noreturn_type },
|
|
10214
10115
|
.{ "null", .null_value },
|
|
10215
10116
|
.{ "true", .bool_true },
|
|
10216
10117
|
.{ "type", .type_type },
|
|
10118
|
+
.{ "undefined", .undef },
|
|
10119
|
+
.{ "void", .void_type },
|
|
10120
|
+
|
|
10121
|
+
.{ "f16", .f16_type },
|
|
10122
|
+
.{ "f32", .f32_type },
|
|
10123
|
+
.{ "f64", .f64_type },
|
|
10124
|
+
.{ "f80", .f80_type },
|
|
10125
|
+
.{ "f128", .f128_type },
|
|
10126
|
+
|
|
10127
|
+
.{ "u0", .u0_type },
|
|
10128
|
+
.{ "u1", .u1_type },
|
|
10129
|
+
.{ "u8", .u8_type },
|
|
10130
|
+
.{ "i8", .i8_type },
|
|
10217
10131
|
.{ "u16", .u16_type },
|
|
10132
|
+
.{ "i16", .i16_type },
|
|
10218
10133
|
.{ "u29", .u29_type },
|
|
10219
10134
|
.{ "u32", .u32_type },
|
|
10135
|
+
.{ "i32", .i32_type },
|
|
10220
10136
|
.{ "u64", .u64_type },
|
|
10137
|
+
.{ "i64", .i64_type },
|
|
10138
|
+
.{ "u80", .u80_type },
|
|
10221
10139
|
.{ "u128", .u128_type },
|
|
10222
|
-
.{ "
|
|
10223
|
-
.{ "
|
|
10224
|
-
.{ "undefined", .undef },
|
|
10140
|
+
.{ "i128", .i128_type },
|
|
10141
|
+
.{ "u256", .u256_type },
|
|
10225
10142
|
.{ "usize", .usize_type },
|
|
10226
|
-
.{ "
|
|
10143
|
+
.{ "isize", .isize_type },
|
|
10227
10144
|
});
|
|
10228
10145
|
|
|
10229
10146
|
comptime {
|
|
@@ -10375,7 +10292,6 @@ fn nodeMayEvalToError(tree: *const Ast, start_node: Ast.Node.Index) BuiltinFn.Ev
|
|
|
10375
10292
|
.add_wrap,
|
|
10376
10293
|
.add_sat,
|
|
10377
10294
|
.array_cat,
|
|
10378
|
-
.array_mult,
|
|
10379
10295
|
.assign,
|
|
10380
10296
|
.assign_destructure,
|
|
10381
10297
|
.assign_bit_and,
|
|
@@ -11215,7 +11131,6 @@ const Scope = struct {
|
|
|
11215
11131
|
parent: *Scope,
|
|
11216
11132
|
index: u32,
|
|
11217
11133
|
len: u32,
|
|
11218
|
-
remapped_err_code: Zir.Inst.OptionalIndex = .none,
|
|
11219
11134
|
};
|
|
11220
11135
|
|
|
11221
11136
|
/// Represents a global scope that has any number of declarations in it.
|
|
@@ -11433,7 +11348,7 @@ const GenZir = struct {
|
|
|
11433
11348
|
const body_len = astgen.countBodyLenAfterFixups(body);
|
|
11434
11349
|
try astgen.extra.ensureUnusedCapacity(
|
|
11435
11350
|
gpa,
|
|
11436
|
-
@typeInfo(Zir.Inst.BoolBr).@"struct".
|
|
11351
|
+
@typeInfo(Zir.Inst.BoolBr).@"struct".field_names.len + body_len,
|
|
11437
11352
|
);
|
|
11438
11353
|
const zir_datas = astgen.instructions.items(.data);
|
|
11439
11354
|
zir_datas[@intFromEnum(bool_br)].pl_node.payload_index = astgen.addExtraAssumeCapacity(Zir.Inst.BoolBr{
|
|
@@ -11457,7 +11372,7 @@ const GenZir = struct {
|
|
|
11457
11372
|
|
|
11458
11373
|
try astgen.extra.ensureUnusedCapacity(
|
|
11459
11374
|
gpa,
|
|
11460
|
-
@typeInfo(Zir.Inst.Block).@"struct".
|
|
11375
|
+
@typeInfo(Zir.Inst.Block).@"struct".field_names.len + body_len,
|
|
11461
11376
|
);
|
|
11462
11377
|
const zir_datas = astgen.instructions.items(.data);
|
|
11463
11378
|
zir_datas[@intFromEnum(inst)].pl_node.payload_index = astgen.addExtraAssumeCapacity(
|
|
@@ -11480,7 +11395,7 @@ const GenZir = struct {
|
|
|
11480
11395
|
|
|
11481
11396
|
try astgen.extra.ensureUnusedCapacity(
|
|
11482
11397
|
gpa,
|
|
11483
|
-
@typeInfo(Zir.Inst.BlockComptime).@"struct".
|
|
11398
|
+
@typeInfo(Zir.Inst.BlockComptime).@"struct".field_names.len + body_len,
|
|
11484
11399
|
);
|
|
11485
11400
|
const zir_datas = astgen.instructions.items(.data);
|
|
11486
11401
|
zir_datas[@intFromEnum(inst)].pl_node.payload_index = astgen.addExtraAssumeCapacity(
|
|
@@ -11501,7 +11416,7 @@ const GenZir = struct {
|
|
|
11501
11416
|
const body_len = astgen.countBodyLenAfterFixups(body);
|
|
11502
11417
|
try astgen.extra.ensureUnusedCapacity(
|
|
11503
11418
|
gpa,
|
|
11504
|
-
@typeInfo(Zir.Inst.Try).@"struct".
|
|
11419
|
+
@typeInfo(Zir.Inst.Try).@"struct".field_names.len + body_len,
|
|
11505
11420
|
);
|
|
11506
11421
|
const zir_datas = astgen.instructions.items(.data);
|
|
11507
11422
|
zir_datas[@intFromEnum(inst)].pl_node.payload_index = astgen.addExtraAssumeCapacity(
|
|
@@ -11614,7 +11529,7 @@ const GenZir = struct {
|
|
|
11614
11529
|
inst_info: {
|
|
11615
11530
|
try astgen.extra.ensureUnusedCapacity(
|
|
11616
11531
|
gpa,
|
|
11617
|
-
@typeInfo(Zir.Inst.FuncFancy).@"struct".
|
|
11532
|
+
@typeInfo(Zir.Inst.FuncFancy).@"struct".field_names.len +
|
|
11618
11533
|
fancyFnExprExtraLen(astgen, &.{}, cc_body, args.cc_ref) +
|
|
11619
11534
|
fancyFnExprExtraLen(astgen, args.ret_param_refs, ret_body, ret_ref) +
|
|
11620
11535
|
body_len + src_locs_and_hash.len +
|
|
@@ -11674,7 +11589,7 @@ const GenZir = struct {
|
|
|
11674
11589
|
} else inst_info: {
|
|
11675
11590
|
try astgen.extra.ensureUnusedCapacity(
|
|
11676
11591
|
gpa,
|
|
11677
|
-
@typeInfo(Zir.Inst.Func).@"struct".
|
|
11592
|
+
@typeInfo(Zir.Inst.Func).@"struct".field_names.len + 1 +
|
|
11678
11593
|
fancyFnExprExtraLen(astgen, args.ret_param_refs, ret_body, ret_ref) +
|
|
11679
11594
|
body_len + src_locs_and_hash.len,
|
|
11680
11595
|
);
|
|
@@ -11862,7 +11777,7 @@ const GenZir = struct {
|
|
|
11862
11777
|
const param_body = param_gz.instructionsSlice();
|
|
11863
11778
|
const body_len = gz.astgen.countBodyLenAfterFixupsExtraRefs(param_body, prev_param_insts);
|
|
11864
11779
|
try gz.astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
11865
|
-
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Param).@"struct".
|
|
11780
|
+
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Param).@"struct".field_names.len + body_len);
|
|
11866
11781
|
|
|
11867
11782
|
const payload_index = gz.astgen.addExtraAssumeCapacity(Zir.Inst.Param{
|
|
11868
11783
|
.name = name,
|
|
@@ -11886,8 +11801,8 @@ const GenZir = struct {
|
|
|
11886
11801
|
return new_index;
|
|
11887
11802
|
}
|
|
11888
11803
|
|
|
11889
|
-
fn
|
|
11890
|
-
return addExtendedNodeSmall(gz, .
|
|
11804
|
+
fn addStdLangValue(gz: *GenZir, src_node: Ast.Node.Index, val: Zir.Inst.StdLangValue) !Zir.Inst.Ref {
|
|
11805
|
+
return addExtendedNodeSmall(gz, .std_lang_value, src_node, @intFromEnum(val));
|
|
11891
11806
|
}
|
|
11892
11807
|
|
|
11893
11808
|
fn addExtendedPayload(gz: *GenZir, opcode: Zir.Inst.Extended, extra: anytype) !Zir.Inst.Ref {
|
|
@@ -11932,7 +11847,7 @@ const GenZir = struct {
|
|
|
11932
11847
|
try astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
11933
11848
|
try astgen.extra.ensureUnusedCapacity(
|
|
11934
11849
|
gpa,
|
|
11935
|
-
@typeInfo(Zir.Inst.NodeMultiOp).@"struct".
|
|
11850
|
+
@typeInfo(Zir.Inst.NodeMultiOp).@"struct".field_names.len + operands.len,
|
|
11936
11851
|
);
|
|
11937
11852
|
|
|
11938
11853
|
const payload_index = astgen.addExtraAssumeCapacity(Zir.Inst.NodeMultiOp{
|
|
@@ -12173,7 +12088,7 @@ const GenZir = struct {
|
|
|
12173
12088
|
) !Zir.Inst.Index {
|
|
12174
12089
|
const gpa = gz.astgen.gpa;
|
|
12175
12090
|
try gz.astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
12176
|
-
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Break).@"struct".
|
|
12091
|
+
try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Break).@"struct".field_names.len);
|
|
12177
12092
|
|
|
12178
12093
|
const new_index: Zir.Inst.Index = @enumFromInt(gz.astgen.instructions.len);
|
|
12179
12094
|
gz.astgen.instructions.appendAssumeCapacity(.{
|
|
@@ -12296,7 +12211,7 @@ const GenZir = struct {
|
|
|
12296
12211
|
try astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
12297
12212
|
try astgen.extra.ensureUnusedCapacity(
|
|
12298
12213
|
gpa,
|
|
12299
|
-
@typeInfo(Zir.Inst.AllocExtended).@"struct".
|
|
12214
|
+
@typeInfo(Zir.Inst.AllocExtended).@"struct".field_names.len +
|
|
12300
12215
|
@intFromBool(args.type_inst != .none) +
|
|
12301
12216
|
@intFromBool(args.align_inst != .none),
|
|
12302
12217
|
);
|
|
@@ -12348,9 +12263,9 @@ const GenZir = struct {
|
|
|
12348
12263
|
|
|
12349
12264
|
try gz.instructions.ensureUnusedCapacity(gpa, 1);
|
|
12350
12265
|
try astgen.instructions.ensureUnusedCapacity(gpa, 1);
|
|
12351
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Asm).@"struct".
|
|
12352
|
-
args.outputs.len * @typeInfo(Zir.Inst.Asm.Output).@"struct".
|
|
12353
|
-
args.inputs.len * @typeInfo(Zir.Inst.Asm.Input).@"struct".
|
|
12266
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Asm).@"struct".field_names.len +
|
|
12267
|
+
args.outputs.len * @typeInfo(Zir.Inst.Asm.Output).@"struct".field_names.len +
|
|
12268
|
+
args.inputs.len * @typeInfo(Zir.Inst.Asm.Input).@"struct".field_names.len);
|
|
12354
12269
|
|
|
12355
12270
|
const payload_index = gz.astgen.addExtraAssumeCapacity(Zir.Inst.Asm{
|
|
12356
12271
|
.src_node = gz.nodeIndexToRelative(args.node),
|
|
@@ -12435,7 +12350,7 @@ const GenZir = struct {
|
|
|
12435
12350
|
fn setStruct(gz: *GenZir, inst: Zir.Inst.Index, args: struct {
|
|
12436
12351
|
src_node: Ast.Node.Index,
|
|
12437
12352
|
name_strat: Zir.Inst.NameStrategy,
|
|
12438
|
-
layout: std.
|
|
12353
|
+
layout: std.lang.Type.ContainerLayout,
|
|
12439
12354
|
backing_int_type_body_len: ?u32,
|
|
12440
12355
|
decls_len: u32,
|
|
12441
12356
|
fields_len: u32,
|
|
@@ -12459,7 +12374,7 @@ const GenZir = struct {
|
|
|
12459
12374
|
|
|
12460
12375
|
const fields_hash_arr: [4]u32 = @bitCast(args.fields_hash);
|
|
12461
12376
|
|
|
12462
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.StructDecl).@"struct".
|
|
12377
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.StructDecl).@"struct".field_names.len +
|
|
12463
12378
|
4 + // `captures_len`, `decls_len`, `fields_len`, `backing_int_type_body_len`
|
|
12464
12379
|
captures_len * 2 + // `capture`, `capture_name`
|
|
12465
12380
|
args.remaining.len);
|
|
@@ -12526,7 +12441,7 @@ const GenZir = struct {
|
|
|
12526
12441
|
|
|
12527
12442
|
const fields_hash_arr: [4]u32 = @bitCast(args.fields_hash);
|
|
12528
12443
|
|
|
12529
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.UnionDecl).@"struct".
|
|
12444
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.UnionDecl).@"struct".field_names.len +
|
|
12530
12445
|
4 + // `captures_len`, `decls_len`, `fields_len`, `arg_type_body_len`
|
|
12531
12446
|
captures_len * 2 + // `capture`, `capture_name`
|
|
12532
12447
|
args.remaining.len);
|
|
@@ -12594,7 +12509,7 @@ const GenZir = struct {
|
|
|
12594
12509
|
|
|
12595
12510
|
const fields_hash_arr: [4]u32 = @bitCast(args.fields_hash);
|
|
12596
12511
|
|
|
12597
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.EnumDecl).@"struct".
|
|
12512
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.EnumDecl).@"struct".field_names.len +
|
|
12598
12513
|
4 + // `captures_len`, `decls_len`, `fields_len`, `tag_type_body_len`
|
|
12599
12514
|
captures_len * 2 + // `capture`, `capture_name`
|
|
12600
12515
|
args.remaining.len);
|
|
@@ -12650,7 +12565,7 @@ const GenZir = struct {
|
|
|
12650
12565
|
const captures_len: u32 = @intCast(args.captures.len);
|
|
12651
12566
|
assert(args.capture_names.len == captures_len);
|
|
12652
12567
|
|
|
12653
|
-
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.OpaqueDecl).@"struct".
|
|
12568
|
+
try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.OpaqueDecl).@"struct".field_names.len +
|
|
12654
12569
|
2 + // `captures_len`, `decls_len`
|
|
12655
12570
|
captures_len * 2 + // `capture`, `capture_name`
|
|
12656
12571
|
args.decls.len);
|
|
@@ -12926,17 +12841,18 @@ fn scanContainer(
|
|
|
12926
12841
|
next: ?*@This(),
|
|
12927
12842
|
};
|
|
12928
12843
|
|
|
12929
|
-
// The maps below are allocated into this
|
|
12930
|
-
var
|
|
12931
|
-
|
|
12844
|
+
// The maps below are allocated into this BFA to avoid using the GPA for small namespaces.
|
|
12845
|
+
var bfa_buf: [512]u8 = undefined;
|
|
12846
|
+
var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, astgen.gpa);
|
|
12847
|
+
const bfa = bfa_state.allocator();
|
|
12932
12848
|
|
|
12933
12849
|
var names: std.AutoArrayHashMapUnmanaged(Zir.NullTerminatedString, NameEntry) = .empty;
|
|
12934
12850
|
var test_names: std.AutoArrayHashMapUnmanaged(Zir.NullTerminatedString, NameEntry) = .empty;
|
|
12935
12851
|
var decltest_names: std.AutoArrayHashMapUnmanaged(Zir.NullTerminatedString, NameEntry) = .empty;
|
|
12936
12852
|
defer {
|
|
12937
|
-
names.deinit(
|
|
12938
|
-
test_names.deinit(
|
|
12939
|
-
decltest_names.deinit(
|
|
12853
|
+
names.deinit(bfa);
|
|
12854
|
+
test_names.deinit(bfa);
|
|
12855
|
+
decltest_names.deinit(bfa);
|
|
12940
12856
|
}
|
|
12941
12857
|
|
|
12942
12858
|
var any_duplicates = false;
|
|
@@ -13008,7 +12924,7 @@ fn scanContainer(
|
|
|
13008
12924
|
else => {}, // unnamed test
|
|
13009
12925
|
.string_literal => {
|
|
13010
12926
|
const name = try astgen.strLitAsString(test_name_token);
|
|
13011
|
-
const gop = try test_names.getOrPut(
|
|
12927
|
+
const gop = try test_names.getOrPut(bfa, name.index);
|
|
13012
12928
|
if (gop.found_existing) {
|
|
13013
12929
|
var e = gop.value_ptr;
|
|
13014
12930
|
while (e.next) |n| e = n;
|
|
@@ -13021,7 +12937,7 @@ fn scanContainer(
|
|
|
13021
12937
|
},
|
|
13022
12938
|
.identifier => {
|
|
13023
12939
|
const name = try astgen.identAsString(test_name_token);
|
|
13024
|
-
const gop = try decltest_names.getOrPut(
|
|
12940
|
+
const gop = try decltest_names.getOrPut(bfa, name);
|
|
13025
12941
|
if (gop.found_existing) {
|
|
13026
12942
|
var e = gop.value_ptr;
|
|
13027
12943
|
while (e.next) |n| e = n;
|
|
@@ -13048,7 +12964,7 @@ fn scanContainer(
|
|
|
13048
12964
|
}
|
|
13049
12965
|
|
|
13050
12966
|
{
|
|
13051
|
-
const gop = try names.getOrPut(
|
|
12967
|
+
const gop = try names.getOrPut(bfa, name_str_index);
|
|
13052
12968
|
const new_ent: NameEntry = .{
|
|
13053
12969
|
.tok = name_token,
|
|
13054
12970
|
.next = null,
|
|
@@ -13549,7 +13465,7 @@ fn setDeclaration(
|
|
|
13549
13465
|
const flags_arr: [2]u32 = @bitCast(flags);
|
|
13550
13466
|
|
|
13551
13467
|
const need_extra: usize =
|
|
13552
|
-
@typeInfo(Zir.Inst.Declaration).@"struct".
|
|
13468
|
+
@typeInfo(Zir.Inst.Declaration).@"struct".field_names.len +
|
|
13553
13469
|
@as(usize, @intFromBool(id.hasName())) +
|
|
13554
13470
|
@as(usize, @intFromBool(id.hasLibName())) +
|
|
13555
13471
|
@as(usize, @intFromBool(id.hasTypeBody())) +
|