@zigc/lib 0.17.0-dev.39 → 0.17.0-dev.420

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.
Files changed (1231) hide show
  1. package/c/fcntl.zig +5 -0
  2. package/c/inttypes.zig +0 -10
  3. package/c/math.zig +52 -112
  4. package/c/pthread.zig +57 -0
  5. package/c/search.zig +1 -27
  6. package/c/stdlib/drand48.zig +0 -57
  7. package/c/stdlib.zig +31 -121
  8. package/c/string.zig +20 -7
  9. package/c/strings.zig +0 -38
  10. package/c/unistd.zig +28 -26
  11. package/c/wchar.zig +10 -0
  12. package/c.zig +2 -2
  13. package/compiler/aro/aro/CodeGen.zig +7 -8
  14. package/compiler/aro/aro/Compilation.zig +17 -17
  15. package/compiler/aro/aro/Driver.zig +14 -13
  16. package/compiler/aro/aro/Parser.zig +20 -15
  17. package/compiler/aro/aro/Pragma.zig +3 -2
  18. package/compiler/aro/aro/Preprocessor.zig +11 -8
  19. package/compiler/aro/aro/pragmas/message.zig +3 -2
  20. package/compiler/aro/aro/text_literal.zig +3 -2
  21. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  22. package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
  23. package/compiler/build_runner.zig +5 -5
  24. package/compiler/reduce/Walk.zig +8 -13
  25. package/compiler/resinator/compile.zig +1 -1
  26. package/compiler/resinator/cvtres.zig +4 -4
  27. package/compiler/resinator/errors.zig +7 -7
  28. package/compiler/resinator/ico.zig +4 -4
  29. package/compiler/resinator/parse.zig +2 -2
  30. package/compiler/resinator/res.zig +1 -1
  31. package/compiler/std-docs.zig +1 -1
  32. package/compiler/test_runner.zig +25 -15
  33. package/compiler/translate-c/MacroTranslator.zig +1 -1
  34. package/compiler/translate-c/Translator.zig +6 -2
  35. package/compiler/translate-c/ast.zig +16 -23
  36. package/compiler/translate-c/main.zig +1 -1
  37. package/compiler_rt/addf3.zig +1 -1
  38. package/compiler_rt/arm.zig +3 -3
  39. package/compiler_rt/atomics.zig +1 -1
  40. package/compiler_rt/comparef.zig +3 -3
  41. package/compiler_rt/cos.zig +1 -3
  42. package/compiler_rt/count0bits.zig +1 -1
  43. package/compiler_rt/divdf3.zig +2 -2
  44. package/compiler_rt/divsf3.zig +1 -1
  45. package/compiler_rt/divtf3.zig +1 -1
  46. package/compiler_rt/divxf3.zig +1 -1
  47. package/compiler_rt/exp.zig +0 -2
  48. package/compiler_rt/exp2.zig +0 -2
  49. package/compiler_rt/extendf.zig +5 -5
  50. package/compiler_rt/fabs.zig +1 -3
  51. package/compiler_rt/float_from_int.zig +4 -5
  52. package/compiler_rt/fma.zig +0 -2
  53. package/compiler_rt/fmax.zig +1 -3
  54. package/compiler_rt/fmin.zig +1 -3
  55. package/compiler_rt/fmod.zig +2 -4
  56. package/compiler_rt/int_from_float.zig +1 -1
  57. package/compiler_rt/limb64.zig +3 -2
  58. package/compiler_rt/log.zig +0 -2
  59. package/compiler_rt/log10.zig +0 -2
  60. package/compiler_rt/log2.zig +0 -2
  61. package/compiler_rt/mulf3.zig +2 -2
  62. package/compiler_rt/rem_pio2l.zig +1 -1
  63. package/compiler_rt/round.zig +0 -2
  64. package/compiler_rt/sin.zig +1 -3
  65. package/compiler_rt/sincos.zig +1 -3
  66. package/compiler_rt/sqrt.zig +0 -2
  67. package/compiler_rt/ssp.zig +2 -2
  68. package/compiler_rt/tan.zig +1 -3
  69. package/compiler_rt/trunc.zig +0 -2
  70. package/compiler_rt/truncf.zig +3 -3
  71. package/compiler_rt/trunctfhf2.zig +3 -0
  72. package/compiler_rt.zig +5 -26
  73. package/docs/main.js +8 -8
  74. package/docs/wasm/Walk.zig +1 -3
  75. package/docs/wasm/html_render.zig +1 -2
  76. package/docs/wasm/markdown/Parser.zig +16 -20
  77. package/fuzzer.zig +5 -3
  78. package/include/__clang_spirv_builtins.h +12 -12
  79. package/include/__float_float.h +176 -0
  80. package/include/__float_header_macro.h +12 -0
  81. package/include/__float_infinity_nan.h +20 -0
  82. package/include/amo.h +131 -0
  83. package/include/amxavx512intrin.h +215 -1
  84. package/include/amxintrin.h +0 -2
  85. package/include/arm_acle.h +37 -27
  86. package/include/arm_neon.h +218 -82
  87. package/include/arm_sme.h +8 -8
  88. package/include/arm_sve.h +4162 -3782
  89. package/include/avx10_2_512bf16intrin.h +19 -12
  90. package/include/avx10_2_512convertintrin.h +1 -1
  91. package/include/avx10_2_512niintrin.h +31 -31
  92. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  93. package/include/avx10_2bf16intrin.h +54 -45
  94. package/include/avx10_2convertintrin.h +2 -2
  95. package/include/avx10_2copyintrin.h +1 -1
  96. package/include/avx10_2niintrin.h +14 -14
  97. package/include/avx10_2satcvtdsintrin.h +2 -2
  98. package/include/avx2intrin.h +275 -377
  99. package/include/avx512bf16intrin.h +25 -16
  100. package/include/avx512bitalgintrin.h +19 -30
  101. package/include/avx512bwintrin.h +386 -505
  102. package/include/avx512cdintrin.h +42 -55
  103. package/include/avx512dqintrin.h +132 -161
  104. package/include/avx512fintrin.h +1015 -1424
  105. package/include/avx512fp16intrin.h +112 -110
  106. package/include/avx512ifmaintrin.h +32 -34
  107. package/include/avx512ifmavlintrin.h +73 -46
  108. package/include/avx512vbmi2intrin.h +43 -32
  109. package/include/avx512vbmiintrin.h +19 -27
  110. package/include/avx512vbmivlintrin.h +35 -49
  111. package/include/avx512vlbf16intrin.h +32 -22
  112. package/include/avx512vlbitalgintrin.h +37 -53
  113. package/include/avx512vlbwintrin.h +470 -573
  114. package/include/avx512vlcdintrin.h +74 -102
  115. package/include/avx512vldqintrin.h +110 -127
  116. package/include/avx512vlfp16intrin.h +130 -111
  117. package/include/avx512vlintrin.h +945 -1299
  118. package/include/avx512vlvbmi2intrin.h +78 -63
  119. package/include/avx512vlvnniintrin.h +21 -18
  120. package/include/avx512vlvp2intersectintrin.h +2 -2
  121. package/include/avx512vnniintrin.h +10 -10
  122. package/include/avx512vp2intersectintrin.h +1 -2
  123. package/include/avx512vpopcntdqintrin.h +8 -10
  124. package/include/avx512vpopcntdqvlintrin.h +17 -15
  125. package/include/avxifmaintrin.h +16 -0
  126. package/include/avxintrin.h +165 -241
  127. package/include/avxvnniint16intrin.h +118 -99
  128. package/include/avxvnniint8intrin.h +56 -32
  129. package/include/avxvnniintrin.h +16 -8
  130. package/include/cpuid.h +101 -4
  131. package/include/emmintrin.h +168 -168
  132. package/include/f16cintrin.h +23 -9
  133. package/include/float.h +16 -155
  134. package/include/fma4intrin.h +98 -96
  135. package/include/fmaintrin.h +96 -66
  136. package/include/gfniintrin.h +21 -16
  137. package/include/hexagon_types.h +23 -20
  138. package/include/hvx_hexagon_protos.h +649 -860
  139. package/include/immintrin.h +0 -12
  140. package/include/intrin.h +4 -0
  141. package/include/lasxintrin.h +113 -0
  142. package/include/llvm_libc_wrappers/assert.h +3 -5
  143. package/include/llvm_libc_wrappers/ctype.h +3 -115
  144. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  145. package/include/llvm_libc_wrappers/stdio.h +10 -38
  146. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  147. package/include/llvm_libc_wrappers/string.h +2 -70
  148. package/include/llvm_libc_wrappers/time.h +4 -10
  149. package/include/mmintrin.h +188 -257
  150. package/include/module.modulemap +23 -4
  151. package/include/movrs_avx10_2_512intrin.h +2 -2
  152. package/include/movrs_avx10_2intrin.h +4 -4
  153. package/include/pmmintrin.h +12 -24
  154. package/include/ptrauth.h +16 -2
  155. package/include/riscv_mips.h +34 -0
  156. package/include/riscv_nds.h +89 -0
  157. package/include/sifive_vector.h +58 -2
  158. package/include/sm4evexintrin.h +2 -2
  159. package/include/smmintrin.h +77 -59
  160. package/include/spirvintrin.h +194 -0
  161. package/include/stddefer.h +19 -0
  162. package/include/tmmintrin.h +116 -147
  163. package/include/vaesintrin.h +1 -2
  164. package/include/xmmintrin.h +44 -70
  165. package/include/xopintrin.h +20 -10
  166. package/libc/darwin/SDKSettings.json +1 -1
  167. package/libc/darwin/libSystem.tbd +88 -87
  168. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  169. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  170. package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
  171. package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
  172. package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
  173. package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
  174. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  175. package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
  176. package/libc/include/any-darwin-any/mach/host_info.h +3 -1
  177. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
  178. package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
  179. package/libc/include/any-darwin-any/spawn.h +3 -1
  180. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
  181. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  182. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  183. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  184. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  185. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  186. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  187. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  188. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  189. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  190. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  191. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  192. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  193. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  194. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  195. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  196. package/libc/include/any-linux-any/linux/elf.h +2 -0
  197. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  198. package/libc/include/any-linux-any/linux/fs.h +1 -0
  199. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  200. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  201. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  202. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  203. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  204. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  205. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  206. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  207. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  208. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  209. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  210. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  211. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  212. package/libc/include/any-linux-any/linux/magic.h +1 -0
  213. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  214. package/libc/include/any-linux-any/linux/mount.h +11 -2
  215. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  216. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  217. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  218. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  219. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  220. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  221. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  222. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  223. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  224. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  225. package/libc/include/any-linux-any/linux/pci.h +7 -0
  226. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  227. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  228. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  229. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  230. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  231. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  232. package/libc/include/any-linux-any/linux/shm.h +0 -1
  233. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  234. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  235. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  236. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  237. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  238. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  239. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  240. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  241. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  242. package/libc/include/any-linux-any/linux/version.h +3 -3
  243. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  244. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  245. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  246. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  247. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  248. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  249. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  250. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  251. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  252. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  253. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  254. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  255. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  256. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  257. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  258. package/libc/include/generic-openbsd/db.h +1 -7
  259. package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
  260. package/libc/include/generic-openbsd/fnmatch.h +6 -2
  261. package/libc/include/generic-openbsd/login_cap.h +3 -1
  262. package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
  263. package/libc/include/generic-openbsd/net/bpf.h +3 -1
  264. package/libc/include/generic-openbsd/net/hfsc.h +4 -4
  265. package/libc/include/generic-openbsd/net/if.h +5 -1
  266. package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
  267. package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
  268. package/libc/include/generic-openbsd/net/if_media.h +26 -1
  269. package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
  270. package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
  271. package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
  272. package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
  273. package/libc/include/generic-openbsd/net/if_types.h +2 -2
  274. package/libc/include/generic-openbsd/net/if_var.h +34 -12
  275. package/libc/include/generic-openbsd/net/netisr.h +1 -3
  276. package/libc/include/generic-openbsd/net/pfvar.h +154 -1
  277. package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
  278. package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
  279. package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
  280. package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
  281. package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
  282. package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
  283. package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
  284. package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
  285. package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
  286. package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
  287. package/libc/include/generic-openbsd/netinet/ip.h +3 -2
  288. package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
  289. package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
  290. package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
  291. package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
  292. package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
  293. package/libc/include/generic-openbsd/pthread.h +2 -2
  294. package/libc/include/generic-openbsd/signal.h +2 -2
  295. package/libc/include/generic-openbsd/sndio.h +6 -12
  296. package/libc/include/generic-openbsd/strings.h +5 -1
  297. package/libc/include/generic-openbsd/sys/device.h +4 -3
  298. package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
  299. package/libc/include/generic-openbsd/sys/dkio.h +3 -5
  300. package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
  301. package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
  302. package/libc/include/generic-openbsd/sys/mman.h +7 -2
  303. package/libc/include/generic-openbsd/sys/mutex.h +10 -7
  304. package/libc/include/generic-openbsd/sys/namei.h +8 -7
  305. package/libc/include/generic-openbsd/sys/param.h +1 -1
  306. package/libc/include/generic-openbsd/sys/pledge.h +1 -3
  307. package/libc/include/generic-openbsd/sys/protosw.h +8 -1
  308. package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
  309. package/libc/include/generic-openbsd/sys/sched.h +8 -1
  310. package/libc/include/generic-openbsd/sys/signal.h +4 -2
  311. package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
  312. package/libc/include/generic-openbsd/sys/sockio.h +11 -1
  313. package/libc/include/generic-openbsd/sys/syscall.h +5 -3
  314. package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
  315. package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
  316. package/libc/include/generic-openbsd/sys/types.h +6 -2
  317. package/libc/include/generic-openbsd/sys/videoio.h +143 -68
  318. package/libc/include/generic-openbsd/sys/xcall.h +2 -2
  319. package/libc/include/generic-openbsd/time.h +2 -2
  320. package/libc/include/generic-openbsd/unistd.h +2 -2
  321. package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
  322. package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
  323. package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
  324. package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
  325. package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
  326. package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
  327. package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
  328. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  329. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  330. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  331. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  332. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  333. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  334. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  335. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  336. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  337. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  338. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  339. package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
  340. package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
  341. package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
  342. package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
  343. package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
  344. package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
  345. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  346. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  347. package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
  348. package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
  349. package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
  350. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  351. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  352. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  353. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  354. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  355. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  356. package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
  357. package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
  358. package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
  359. package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
  360. package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
  361. package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
  362. package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
  363. package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
  364. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  365. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  366. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  367. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  368. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  369. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  370. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  371. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  372. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  373. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  374. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  375. package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
  376. package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
  377. package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
  378. package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
  379. package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
  380. package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
  381. package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
  382. package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
  383. package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
  384. package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
  385. package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
  386. package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
  387. package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
  388. package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
  389. package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
  390. package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
  391. package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
  392. package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
  393. package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
  394. package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
  395. package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
  396. package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
  397. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  398. package/libc/openbsd/abilists +0 -0
  399. package/libcxx/include/__algorithm/all_of.h +11 -5
  400. package/libcxx/include/__algorithm/comp.h +4 -0
  401. package/libcxx/include/__algorithm/copy.h +28 -147
  402. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  403. package/libcxx/include/__algorithm/copy_n.h +50 -16
  404. package/libcxx/include/__algorithm/count.h +2 -2
  405. package/libcxx/include/__algorithm/equal.h +43 -55
  406. package/libcxx/include/__algorithm/fill.h +26 -8
  407. package/libcxx/include/__algorithm/fill_n.h +32 -46
  408. package/libcxx/include/__algorithm/find.h +96 -39
  409. package/libcxx/include/__algorithm/find_end.h +105 -0
  410. package/libcxx/include/__algorithm/for_each.h +18 -24
  411. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  412. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  413. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  414. package/libcxx/include/__algorithm/generate.h +4 -2
  415. package/libcxx/include/__algorithm/generate_n.h +19 -6
  416. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  417. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  418. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  419. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  420. package/libcxx/include/__algorithm/make_heap.h +16 -4
  421. package/libcxx/include/__algorithm/mismatch.h +2 -2
  422. package/libcxx/include/__algorithm/move.h +8 -19
  423. package/libcxx/include/__algorithm/move_backward.h +9 -24
  424. package/libcxx/include/__algorithm/none_of.h +4 -4
  425. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  426. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  427. package/libcxx/include/__algorithm/pstl.h +9 -9
  428. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  429. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  430. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  431. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  432. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  433. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  434. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  435. package/libcxx/include/__algorithm/rotate.h +27 -44
  436. package/libcxx/include/__algorithm/search_n.h +49 -37
  437. package/libcxx/include/__algorithm/sift_down.h +19 -18
  438. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  439. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  440. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  441. package/libcxx/include/__assertion_handler +31 -4
  442. package/libcxx/include/__atomic/atomic.h +36 -60
  443. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  444. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  445. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  446. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  447. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  448. package/libcxx/include/__atomic/contention_t.h +27 -3
  449. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  450. package/libcxx/include/__bit/countl.h +1 -2
  451. package/libcxx/include/__bit/countr.h +1 -2
  452. package/libcxx/include/__bit/has_single_bit.h +1 -1
  453. package/libcxx/include/__bit/popcount.h +0 -1
  454. package/libcxx/include/__bit/rotate.h +15 -26
  455. package/libcxx/include/__bit_reference +207 -18
  456. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  457. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  458. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  459. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  460. package/libcxx/include/__charconv/traits.h +3 -24
  461. package/libcxx/include/__chrono/day.h +11 -0
  462. package/libcxx/include/__chrono/duration.h +58 -33
  463. package/libcxx/include/__chrono/file_clock.h +4 -2
  464. package/libcxx/include/__chrono/is_clock.h +72 -0
  465. package/libcxx/include/__chrono/leap_second.h +13 -0
  466. package/libcxx/include/__chrono/month.h +13 -0
  467. package/libcxx/include/__chrono/month_weekday.h +22 -0
  468. package/libcxx/include/__chrono/monthday.h +20 -0
  469. package/libcxx/include/__chrono/steady_clock.h +1 -1
  470. package/libcxx/include/__chrono/system_clock.h +3 -3
  471. package/libcxx/include/__chrono/time_point.h +37 -13
  472. package/libcxx/include/__chrono/weekday.h +25 -0
  473. package/libcxx/include/__chrono/year.h +11 -0
  474. package/libcxx/include/__chrono/year_month.h +13 -0
  475. package/libcxx/include/__chrono/year_month_day.h +23 -0
  476. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  477. package/libcxx/include/__chrono/zoned_time.h +16 -0
  478. package/libcxx/include/__compare/is_eq.h +6 -6
  479. package/libcxx/include/__compare/strong_order.h +12 -30
  480. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  481. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  482. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  483. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  484. package/libcxx/include/__config +63 -280
  485. package/libcxx/include/__configuration/abi.h +14 -24
  486. package/libcxx/include/__configuration/availability.h +65 -118
  487. package/libcxx/include/__configuration/compiler.h +6 -6
  488. package/libcxx/include/__configuration/experimental.h +38 -0
  489. package/libcxx/include/__configuration/hardening.h +215 -0
  490. package/libcxx/include/__configuration/language.h +3 -0
  491. package/libcxx/include/__configuration/platform.h +9 -16
  492. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  493. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  494. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  495. package/libcxx/include/__exception/exception.h +6 -4
  496. package/libcxx/include/__exception/exception_ptr.h +27 -5
  497. package/libcxx/include/__exception/nested_exception.h +2 -2
  498. package/libcxx/include/__exception/operations.h +5 -5
  499. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  500. package/libcxx/include/__expected/expected.h +62 -64
  501. package/libcxx/include/__expected/unexpected.h +4 -4
  502. package/libcxx/include/__filesystem/copy_options.h +4 -4
  503. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  504. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  505. package/libcxx/include/__filesystem/directory_options.h +7 -4
  506. package/libcxx/include/__filesystem/file_status.h +3 -3
  507. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  508. package/libcxx/include/__filesystem/operations.h +97 -66
  509. package/libcxx/include/__filesystem/path.h +68 -64
  510. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  511. package/libcxx/include/__filesystem/perm_options.h +4 -4
  512. package/libcxx/include/__filesystem/perms.h +4 -4
  513. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  514. package/libcxx/include/__filesystem/space_info.h +1 -1
  515. package/libcxx/include/__filesystem/u8path.h +12 -14
  516. package/libcxx/include/__flat_map/flat_map.h +88 -71
  517. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  518. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  519. package/libcxx/include/__flat_map/utils.h +1 -0
  520. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  521. package/libcxx/include/__flat_set/flat_set.h +86 -68
  522. package/libcxx/include/__format/concepts.h +0 -14
  523. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  524. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  525. package/libcxx/include/__format/format_arg.h +7 -10
  526. package/libcxx/include/__format/format_args.h +1 -1
  527. package/libcxx/include/__format/format_context.h +5 -5
  528. package/libcxx/include/__format/format_parse_context.h +2 -2
  529. package/libcxx/include/__format/formatter_output.h +30 -34
  530. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  531. package/libcxx/include/__format/range_default_formatter.h +2 -41
  532. package/libcxx/include/__format/range_format.h +71 -0
  533. package/libcxx/include/__format/range_formatter.h +1 -0
  534. package/libcxx/include/__format/width_estimation_table.h +4 -2
  535. package/libcxx/include/__functional/bind.h +10 -15
  536. package/libcxx/include/__functional/bind_back.h +1 -1
  537. package/libcxx/include/__functional/bind_front.h +1 -1
  538. package/libcxx/include/__functional/function.h +57 -75
  539. package/libcxx/include/__functional/hash.h +1 -10
  540. package/libcxx/include/__functional/identity.h +1 -1
  541. package/libcxx/include/__functional/is_transparent.h +8 -0
  542. package/libcxx/include/__functional/mem_fn.h +2 -1
  543. package/libcxx/include/__functional/operations.h +18 -0
  544. package/libcxx/include/__functional/ranges_operations.h +7 -0
  545. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  546. package/libcxx/include/__functional/weak_result_type.h +14 -28
  547. package/libcxx/include/__fwd/ios.h +1 -1
  548. package/libcxx/include/__fwd/tuple.h +14 -0
  549. package/libcxx/include/__hash_table +371 -357
  550. package/libcxx/include/__ios/fpos.h +4 -4
  551. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  552. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  553. package/libcxx/include/__iterator/concepts.h +6 -9
  554. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  555. package/libcxx/include/__iterator/distance.h +40 -18
  556. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  557. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  558. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  559. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  560. package/libcxx/include/__iterator/iter_move.h +1 -1
  561. package/libcxx/include/__iterator/iterator.h +13 -0
  562. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  563. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  564. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  565. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  566. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  567. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  568. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  569. package/libcxx/include/__locale +3 -10
  570. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  571. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  572. package/libcxx/include/__locale_dir/messages.h +1 -1
  573. package/libcxx/include/__locale_dir/money.h +2 -2
  574. package/libcxx/include/__locale_dir/num.h +190 -243
  575. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  576. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  577. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  578. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  579. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  580. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  581. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  582. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  583. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  584. package/libcxx/include/__locale_dir/time.h +3 -7
  585. package/libcxx/include/__math/hypot.h +1 -1
  586. package/libcxx/include/__math/logarithms.h +1 -1
  587. package/libcxx/include/__math/traits.h +80 -11
  588. package/libcxx/include/__mdspan/extents.h +7 -4
  589. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  590. package/libcxx/include/__mdspan/mdspan.h +29 -23
  591. package/libcxx/include/__memory/addressof.h +7 -5
  592. package/libcxx/include/__memory/align.h +18 -1
  593. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  594. package/libcxx/include/__memory/allocator.h +14 -26
  595. package/libcxx/include/__memory/allocator_traits.h +6 -4
  596. package/libcxx/include/__memory/compressed_pair.h +15 -9
  597. package/libcxx/include/__memory/construct_at.h +12 -23
  598. package/libcxx/include/__memory/inout_ptr.h +1 -1
  599. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  600. package/libcxx/include/__memory/out_ptr.h +1 -1
  601. package/libcxx/include/__memory/pointer_traits.h +1 -1
  602. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  603. package/libcxx/include/__memory/shared_count.h +9 -30
  604. package/libcxx/include/__memory/shared_ptr.h +100 -145
  605. package/libcxx/include/__memory/temp_value.h +1 -2
  606. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  607. package/libcxx/include/__memory/unique_ptr.h +14 -16
  608. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  609. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  610. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  611. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  612. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  613. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  614. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  615. package/libcxx/include/__mutex/mutex.h +2 -2
  616. package/libcxx/include/__mutex/once_flag.h +14 -11
  617. package/libcxx/include/__mutex/tag_types.h +3 -3
  618. package/libcxx/include/__mutex/unique_lock.h +8 -7
  619. package/libcxx/include/__new/align_val_t.h +6 -0
  620. package/libcxx/include/__new/allocate.h +1 -2
  621. package/libcxx/include/__new/exceptions.h +8 -2
  622. package/libcxx/include/__new/global_new_delete.h +4 -11
  623. package/libcxx/include/__new/interference_size.h +0 -4
  624. package/libcxx/include/__new/launder.h +3 -5
  625. package/libcxx/include/__new/nothrow_t.h +1 -1
  626. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  627. package/libcxx/include/__numeric/midpoint.h +9 -14
  628. package/libcxx/include/__numeric/pstl.h +2 -2
  629. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  630. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  631. package/libcxx/include/__pstl/backends/default.h +14 -14
  632. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  633. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  634. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  635. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  636. package/libcxx/include/__random/binomial_distribution.h +10 -4
  637. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  638. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  639. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  640. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  641. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  642. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  643. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  644. package/libcxx/include/__ranges/common_view.h +7 -7
  645. package/libcxx/include/__ranges/drop_view.h +8 -8
  646. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  647. package/libcxx/include/__ranges/elements_of.h +49 -0
  648. package/libcxx/include/__ranges/empty_view.h +5 -5
  649. package/libcxx/include/__ranges/filter_view.h +10 -10
  650. package/libcxx/include/__ranges/iota_view.h +41 -22
  651. package/libcxx/include/__ranges/owning_view.h +15 -15
  652. package/libcxx/include/__ranges/ref_view.h +6 -6
  653. package/libcxx/include/__ranges/repeat_view.h +17 -10
  654. package/libcxx/include/__ranges/single_view.h +8 -8
  655. package/libcxx/include/__ranges/take_view.h +9 -9
  656. package/libcxx/include/__ranges/transform_view.h +1 -2
  657. package/libcxx/include/__ranges/view_interface.h +10 -10
  658. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  659. package/libcxx/include/__ranges/zip_view.h +20 -20
  660. package/libcxx/include/__split_buffer +612 -240
  661. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  662. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  663. package/libcxx/include/__stop_token/stop_source.h +1 -1
  664. package/libcxx/include/__stop_token/stop_state.h +4 -4
  665. package/libcxx/include/__stop_token/stop_token.h +1 -1
  666. package/libcxx/include/__string/char_traits.h +51 -31
  667. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  668. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  669. package/libcxx/include/__system_error/error_category.h +8 -8
  670. package/libcxx/include/__system_error/error_code.h +5 -5
  671. package/libcxx/include/__system_error/error_condition.h +4 -4
  672. package/libcxx/include/__system_error/system_error.h +1 -1
  673. package/libcxx/include/__thread/id.h +1 -1
  674. package/libcxx/include/__thread/jthread.h +1 -1
  675. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  676. package/libcxx/include/__thread/support/c11.h +8 -8
  677. package/libcxx/include/__thread/support/pthread.h +8 -8
  678. package/libcxx/include/__thread/support/windows.h +8 -8
  679. package/libcxx/include/__thread/thread.h +13 -8
  680. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  681. package/libcxx/include/__tree +849 -701
  682. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  683. package/libcxx/include/__tuple/tuple_element.h +0 -12
  684. package/libcxx/include/__tuple/tuple_size.h +0 -4
  685. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  686. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  687. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  688. package/libcxx/include/__type_traits/invoke.h +8 -0
  689. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  690. package/libcxx/include/__type_traits/is_array.h +26 -0
  691. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  692. package/libcxx/include/__type_traits/is_final.h +1 -1
  693. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  694. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  695. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  696. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  697. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  698. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  699. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  700. package/libcxx/include/__utility/cmp.h +19 -7
  701. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  702. package/libcxx/include/__utility/in_place.h +1 -1
  703. package/libcxx/include/__utility/integer_sequence.h +56 -41
  704. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  705. package/libcxx/include/__utility/pair.h +22 -25
  706. package/libcxx/include/__utility/scope_guard.h +2 -0
  707. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  708. package/libcxx/include/__vector/vector.h +187 -160
  709. package/libcxx/include/__vector/vector_bool.h +76 -83
  710. package/libcxx/include/any +118 -155
  711. package/libcxx/include/array +88 -56
  712. package/libcxx/include/atomic +2 -0
  713. package/libcxx/include/barrier +20 -24
  714. package/libcxx/include/bitset +49 -30
  715. package/libcxx/include/ccomplex +3 -11
  716. package/libcxx/include/chrono +47 -0
  717. package/libcxx/include/ciso646 +3 -6
  718. package/libcxx/include/complex +77 -65
  719. package/libcxx/include/complex.h +10 -10
  720. package/libcxx/include/condition_variable +3 -3
  721. package/libcxx/include/cstdalign +3 -10
  722. package/libcxx/include/cstdbool +3 -10
  723. package/libcxx/include/ctgmath +2 -11
  724. package/libcxx/include/ctype.h +24 -24
  725. package/libcxx/include/cwchar +2 -2
  726. package/libcxx/include/deque +109 -225
  727. package/libcxx/include/errno.h +269 -269
  728. package/libcxx/include/exception +4 -1
  729. package/libcxx/include/ext/hash_map +7 -48
  730. package/libcxx/include/ext/hash_set +2 -8
  731. package/libcxx/include/fenv.h +43 -43
  732. package/libcxx/include/flat_map +663 -11
  733. package/libcxx/include/flat_set +543 -8
  734. package/libcxx/include/float.h +16 -16
  735. package/libcxx/include/forward_list +33 -53
  736. package/libcxx/include/fstream +57 -42
  737. package/libcxx/include/future +41 -51
  738. package/libcxx/include/initializer_list +9 -3
  739. package/libcxx/include/inttypes.h +16 -16
  740. package/libcxx/include/ios +28 -28
  741. package/libcxx/include/istream +19 -13
  742. package/libcxx/include/iterator +10 -0
  743. package/libcxx/include/latch +7 -5
  744. package/libcxx/include/limits +4 -4
  745. package/libcxx/include/list +61 -79
  746. package/libcxx/include/map +386 -274
  747. package/libcxx/include/math.h +19 -0
  748. package/libcxx/include/mdspan +1 -5
  749. package/libcxx/include/mutex +29 -19
  750. package/libcxx/include/optional +644 -149
  751. package/libcxx/include/print +9 -5
  752. package/libcxx/include/queue +39 -37
  753. package/libcxx/include/ranges +48 -0
  754. package/libcxx/include/regex +33 -31
  755. package/libcxx/include/scoped_allocator +16 -11
  756. package/libcxx/include/semaphore +15 -18
  757. package/libcxx/include/set +220 -192
  758. package/libcxx/include/shared_mutex +3 -8
  759. package/libcxx/include/span +53 -37
  760. package/libcxx/include/sstream +34 -28
  761. package/libcxx/include/stack +13 -15
  762. package/libcxx/include/stddef.h +10 -10
  763. package/libcxx/include/stdexcept +2 -2
  764. package/libcxx/include/stdio.h +20 -21
  765. package/libcxx/include/streambuf +59 -19
  766. package/libcxx/include/string +574 -573
  767. package/libcxx/include/string_view +113 -89
  768. package/libcxx/include/strstream +10 -10
  769. package/libcxx/include/syncstream +4 -4
  770. package/libcxx/include/tgmath.h +12 -12
  771. package/libcxx/include/tuple +242 -212
  772. package/libcxx/include/type_traits +8 -2
  773. package/libcxx/include/typeindex +5 -3
  774. package/libcxx/include/typeinfo +92 -89
  775. package/libcxx/include/unordered_map +179 -304
  776. package/libcxx/include/unordered_set +168 -195
  777. package/libcxx/include/utility +12 -0
  778. package/libcxx/include/valarray +106 -161
  779. package/libcxx/include/variant +25 -33
  780. package/libcxx/include/version +41 -24
  781. package/libcxx/include/wctype.h +29 -29
  782. package/libcxx/libc/hdr/errno_macros.h +3 -1
  783. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  784. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  785. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  786. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  787. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  788. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  789. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  790. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  791. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  792. package/libcxx/libc/shared/libc_common.h +5 -0
  793. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  794. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  795. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  796. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  797. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  798. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  799. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  800. package/libcxx/libc/src/__support/big_int.h +14 -14
  801. package/libcxx/libc/src/__support/common.h +3 -2
  802. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  803. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  804. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  805. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  806. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  807. package/libcxx/libc/src/__support/macros/config.h +23 -0
  808. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  809. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  810. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  811. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  812. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  813. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  814. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  815. package/libcxx/libc/src/__support/math_extras.h +20 -4
  816. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  817. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  818. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  819. package/libcxx/src/any.cpp +4 -0
  820. package/libcxx/src/atomic.cpp +365 -80
  821. package/libcxx/src/barrier.cpp +4 -3
  822. package/libcxx/src/charconv.cpp +6 -3
  823. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  824. package/libcxx/src/error_category.cpp +3 -1
  825. package/libcxx/src/exception.cpp +2 -10
  826. package/libcxx/src/experimental/time_zone.cpp +1 -1
  827. package/libcxx/src/experimental/tzdb.cpp +4 -1
  828. package/libcxx/src/filesystem/error.h +4 -22
  829. package/libcxx/src/filesystem/format_string.h +9 -18
  830. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  831. package/libcxx/src/filesystem/operations.cpp +2 -9
  832. package/libcxx/src/filesystem/path.cpp +3 -1
  833. package/libcxx/src/include/aligned_alloc.h +65 -0
  834. package/libcxx/src/include/config_elast.h +1 -1
  835. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  836. package/libcxx/src/include/overridable_function.h +8 -10
  837. package/libcxx/src/iostream.cpp +56 -37
  838. package/libcxx/src/locale.cpp +213 -196
  839. package/libcxx/src/memory.cpp +12 -14
  840. package/libcxx/src/mutex_destructor.cpp +1 -1
  841. package/libcxx/src/new.cpp +5 -5
  842. package/libcxx/src/optional.cpp +4 -0
  843. package/libcxx/src/print.cpp +9 -1
  844. package/libcxx/src/random.cpp +0 -26
  845. package/libcxx/src/string.cpp +10 -25
  846. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  847. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  848. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  849. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  850. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  851. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  852. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  853. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  854. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  855. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  856. package/libcxx/src/system_error.cpp +2 -0
  857. package/libcxx/src/thread.cpp +1 -3
  858. package/libcxx/src/valarray.cpp +1 -2
  859. package/libcxx/src/vector.cpp +2 -2
  860. package/libcxxabi/include/__cxxabi_config.h +42 -23
  861. package/libcxxabi/src/cxa_exception.cpp +4 -2
  862. package/libcxxabi/src/cxa_exception.h +16 -14
  863. package/libcxxabi/src/cxa_personality.cpp +126 -9
  864. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  865. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  866. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  867. package/libcxxabi/src/demangle/Utility.h +21 -7
  868. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  869. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  870. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  871. package/libtsan/LICENSE.TXT +311 -0
  872. package/libtsan/builtins/assembly.h +41 -8
  873. package/libtsan/interception/interception_win.cpp +4 -0
  874. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  875. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  876. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  877. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  878. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  879. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  880. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  881. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  882. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  883. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  884. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  885. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  886. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  887. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  888. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  889. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  890. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  891. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  892. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  893. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  894. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  895. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  896. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  897. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  898. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  899. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  900. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  901. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  902. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  903. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  904. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  905. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  906. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  907. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  908. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  909. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  910. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  911. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  912. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  913. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  914. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  915. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  916. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  917. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  918. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  919. package/libtsan/tsan_debugging.cpp +2 -2
  920. package/libtsan/tsan_flags.cpp +37 -0
  921. package/libtsan/tsan_flags.h +8 -0
  922. package/libtsan/tsan_flags.inc +12 -0
  923. package/libtsan/tsan_interceptors.h +9 -1
  924. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  925. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  926. package/libtsan/tsan_interface.h +3 -3
  927. package/libtsan/tsan_interface_ann.cpp +23 -9
  928. package/libtsan/tsan_mman.cpp +18 -4
  929. package/libtsan/tsan_platform.h +44 -7
  930. package/libtsan/tsan_platform_linux.cpp +42 -14
  931. package/libtsan/tsan_platform_mac.cpp +16 -3
  932. package/libtsan/tsan_report.h +14 -1
  933. package/libtsan/tsan_rtl.cpp +14 -0
  934. package/libtsan/tsan_rtl.h +7 -2
  935. package/libtsan/tsan_rtl_aarch64.S +3 -5
  936. package/libtsan/tsan_rtl_access.cpp +8 -3
  937. package/libtsan/tsan_rtl_amd64.S +2 -0
  938. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  939. package/libtsan/tsan_rtl_report.cpp +132 -65
  940. package/libtsan/tsan_rtl_thread.cpp +31 -9
  941. package/libtsan/tsan_symbolize.cpp +1 -1
  942. package/libtsan/tsan_symbolize.h +1 -1
  943. package/libtsan/tsan_trace.h +1 -1
  944. package/libunwind/include/__libunwind_config.h +11 -2
  945. package/libunwind/include/libunwind.h +117 -11
  946. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  947. package/libunwind/src/AddressSpace.hpp +42 -20
  948. package/libunwind/src/CompactUnwinder.hpp +16 -5
  949. package/libunwind/src/DwarfInstructions.hpp +24 -13
  950. package/libunwind/src/DwarfParser.hpp +62 -23
  951. package/libunwind/src/EHHeaderParser.hpp +7 -4
  952. package/libunwind/src/Registers.hpp +226 -22
  953. package/libunwind/src/Unwind-seh.cpp +6 -7
  954. package/libunwind/src/Unwind-wasm.c +7 -7
  955. package/libunwind/src/UnwindCursor.hpp +167 -49
  956. package/libunwind/src/UnwindLevel1.c +46 -17
  957. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  958. package/libunwind/src/UnwindRegistersSave.S +86 -2
  959. package/libunwind/src/assembly.h +5 -1
  960. package/libunwind/src/config.h +9 -0
  961. package/libunwind/src/gcc_personality_v0.c +79 -6
  962. package/libunwind/src/libunwind.cpp +104 -4
  963. package/libunwind/src/libunwind_ext.h +7 -1
  964. package/libunwind/src/shadow_stack_unwind.h +2 -2
  965. package/lldb/pretty_printers.py +948 -0
  966. package/package.json +1 -1
  967. package/std/Build/Cache/Path.zig +1 -1
  968. package/std/Build/Cache.zig +6 -6
  969. package/std/Build/Step/Compile.zig +18 -19
  970. package/std/Build/Step/ConfigHeader.zig +1 -1
  971. package/std/Build/Step/Run.zig +15 -8
  972. package/std/Build/Step.zig +3 -7
  973. package/std/Build/Watch/FsEvents.zig +1 -1
  974. package/std/Build/WebServer.zig +2 -2
  975. package/std/Build/abi.zig +1 -1
  976. package/std/Io/Dir.zig +9 -7
  977. package/std/Io/Dispatch.zig +8 -18
  978. package/std/Io/File/Writer.zig +8 -6
  979. package/std/Io/File.zig +6 -9
  980. package/std/Io/Kqueue.zig +3 -3
  981. package/std/Io/Reader.zig +8 -14
  982. package/std/Io/RwLock.zig +2 -0
  983. package/std/Io/Semaphore.zig +112 -17
  984. package/std/Io/Terminal.zig +1 -1
  985. package/std/Io/Threaded.zig +176 -39
  986. package/std/Io/Uring.zig +18 -20
  987. package/std/Io/Writer.zig +54 -10
  988. package/std/Io/net/HostName.zig +11 -6
  989. package/std/Io/net.zig +11 -11
  990. package/std/Io.zig +104 -38
  991. package/std/Random/ChaCha.zig +2 -2
  992. package/std/Random/benchmark.zig +2 -2
  993. package/std/Random.zig +6 -6
  994. package/std/SemanticVersion.zig +1 -1
  995. package/std/Target/Query.zig +3 -4
  996. package/std/Target/aarch64.zig +620 -77
  997. package/std/Target/amdgcn.zig +421 -21
  998. package/std/Target/arm.zig +40 -6
  999. package/std/Target/bpf.zig +6 -0
  1000. package/std/Target/hexagon.zig +41 -6
  1001. package/std/Target/loongarch.zig +18 -0
  1002. package/std/Target/mips.zig +6 -0
  1003. package/std/Target/nvptx.zig +58 -35
  1004. package/std/Target/powerpc.zig +27 -19
  1005. package/std/Target/riscv.zig +512 -177
  1006. package/std/Target/sparc.zig +17 -0
  1007. package/std/Target/spirv.zig +1 -1
  1008. package/std/Target/wasm.zig +7 -0
  1009. package/std/Target/x86.zig +200 -31
  1010. package/std/Target/xtensa.zig +65 -0
  1011. package/std/Target.zig +142 -60
  1012. package/std/Thread.zig +17 -4
  1013. package/std/array_hash_map.zig +103 -57
  1014. package/std/array_list.zig +12 -33
  1015. package/std/ascii.zig +0 -9
  1016. package/std/atomic.zig +2 -0
  1017. package/std/base64.zig +5 -5
  1018. package/std/bit_set.zig +85 -93
  1019. package/std/c/haiku.zig +3 -0
  1020. package/std/c/serenity.zig +1 -6
  1021. package/std/c.zig +123 -32
  1022. package/std/compress/flate/Decompress.zig +3 -4
  1023. package/std/compress/zstd/Decompress.zig +7 -9
  1024. package/std/crypto/25519/curve25519.zig +2 -2
  1025. package/std/crypto/25519/edwards25519.zig +3 -3
  1026. package/std/crypto/25519/ristretto255.zig +2 -2
  1027. package/std/crypto/25519/scalar.zig +6 -6
  1028. package/std/crypto/25519/x25519.zig +1 -1
  1029. package/std/crypto/Certificate.zig +14 -2
  1030. package/std/crypto/Sha1.zig +1 -1
  1031. package/std/crypto/aegis.zig +45 -39
  1032. package/std/crypto/aes_ccm.zig +22 -22
  1033. package/std/crypto/aes_gcm.zig +10 -12
  1034. package/std/crypto/aes_ocb.zig +9 -9
  1035. package/std/crypto/argon2.zig +15 -15
  1036. package/std/crypto/ascon.zig +75 -35
  1037. package/std/crypto/bcrypt.zig +20 -10
  1038. package/std/crypto/benchmark.zig +7 -7
  1039. package/std/crypto/blake2.zig +100 -64
  1040. package/std/crypto/cbc_mac.zig +1 -1
  1041. package/std/crypto/chacha20.zig +10 -10
  1042. package/std/crypto/cmac.zig +3 -3
  1043. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  1044. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  1045. package/std/crypto/codecs/asn1.zig +1 -1
  1046. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  1047. package/std/crypto/ecdsa.zig +9 -9
  1048. package/std/crypto/ff.zig +4 -5
  1049. package/std/crypto/ghash_polyval.zig +4 -4
  1050. package/std/crypto/hkdf.zig +1 -1
  1051. package/std/crypto/isap.zig +3 -3
  1052. package/std/crypto/kangarootwelve.zig +1 -1
  1053. package/std/crypto/keccak_p.zig +8 -8
  1054. package/std/crypto/md5.zig +1 -1
  1055. package/std/crypto/ml_dsa.zig +39 -39
  1056. package/std/crypto/ml_kem.zig +12 -34
  1057. package/std/crypto/modes.zig +2 -2
  1058. package/std/crypto/pbkdf2.zig +1 -1
  1059. package/std/crypto/pcurves/common.zig +4 -5
  1060. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  1061. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  1062. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  1063. package/std/crypto/pcurves/tests/p256.zig +5 -5
  1064. package/std/crypto/pcurves/tests/p384.zig +5 -5
  1065. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  1066. package/std/crypto/salsa20.zig +8 -14
  1067. package/std/crypto/sha2.zig +2 -2
  1068. package/std/crypto/sha3.zig +2 -4
  1069. package/std/crypto/siphash.zig +1 -1
  1070. package/std/crypto/timing_safe.zig +10 -9
  1071. package/std/crypto/tls/Client.zig +89 -13
  1072. package/std/crypto/tls.zig +1 -1
  1073. package/std/crypto.zig +4 -3
  1074. package/std/debug/Dwarf.zig +21 -12
  1075. package/std/debug/Pdb.zig +25 -17
  1076. package/std/debug/SelfInfo/Elf.zig +1 -0
  1077. package/std/debug/cpu_context.zig +168 -24
  1078. package/std/debug.zig +17 -9
  1079. package/std/deque.zig +1 -1
  1080. package/std/elf.zig +20 -3
  1081. package/std/enums.zig +8 -20
  1082. package/std/fmt/float.zig +2 -0
  1083. package/std/fmt/parse_float/decimal.zig +1 -1
  1084. package/std/fmt/parse_float.zig +1 -1
  1085. package/std/fmt.zig +14 -10
  1086. package/std/fs/path.zig +7 -5
  1087. package/std/hash/Adler32.zig +3 -3
  1088. package/std/hash/benchmark.zig +2 -2
  1089. package/std/hash/wyhash.zig +2 -2
  1090. package/std/hash/xxhash.zig +0 -6
  1091. package/std/hash_map.zig +20 -1
  1092. package/std/heap/ArenaAllocator.zig +3 -5
  1093. package/std/heap/BufferFirstAllocator.zig +165 -0
  1094. package/std/heap/SafeAllocator.zig +2180 -0
  1095. package/std/heap/debug_allocator.zig +2 -2
  1096. package/std/heap/memory_pool.zig +34 -197
  1097. package/std/heap.zig +20 -133
  1098. package/std/http/Client.zig +21 -24
  1099. package/std/http.zig +4 -5
  1100. package/std/json/Scanner.zig +2 -2
  1101. package/std/json/static.zig +2 -2
  1102. package/std/json.zig +1 -1
  1103. package/std/{builtin → lang}/assembly.zig +71 -0
  1104. package/std/{builtin.zig → lang.zig} +7 -1
  1105. package/std/leb128.zig +2 -2
  1106. package/std/math/acos.zig +6 -0
  1107. package/std/math/asin.zig +6 -0
  1108. package/std/math/atan.zig +5 -0
  1109. package/std/math/big/int.zig +5 -5
  1110. package/std/math/big.zig +4 -4
  1111. package/std/math/copysign.zig +1 -1
  1112. package/std/math/float.zig +62 -0
  1113. package/std/math/frexp.zig +4 -4
  1114. package/std/math/hypot.zig +4 -0
  1115. package/std/math/ilogb.zig +1 -1
  1116. package/std/math/isfinite.zig +1 -1
  1117. package/std/math/isinf.zig +1 -1
  1118. package/std/math/isnan.zig +1 -2
  1119. package/std/math/isnormal.zig +2 -2
  1120. package/std/math/iszero.zig +2 -2
  1121. package/std/math/ldexp.zig +2 -2
  1122. package/std/math/log10.zig +0 -2
  1123. package/std/math/modf.zig +1 -2
  1124. package/std/math/nextafter.zig +3 -4
  1125. package/std/math/pow.zig +1 -1
  1126. package/std/math/powi.zig +2 -3
  1127. package/std/math/signbit.zig +0 -1
  1128. package/std/math.zig +21 -26
  1129. package/std/mem/Allocator.zig +2 -6
  1130. package/std/mem.zig +52 -75
  1131. package/std/meta/trailer_flags.zig +1 -1
  1132. package/std/meta.zig +4 -36
  1133. package/std/multi_array_list.zig +24 -0
  1134. package/std/os/emscripten.zig +7 -6
  1135. package/std/os/linux/IoUring.zig +2 -0
  1136. package/std/os/linux/alpha.zig +358 -0
  1137. package/std/os/linux/arm.zig +0 -26
  1138. package/std/os/linux/bpf.zig +6 -0
  1139. package/std/os/linux/ioctl.zig +3 -2
  1140. package/std/os/linux/syscalls.zig +528 -1
  1141. package/std/os/linux/tls.zig +12 -1
  1142. package/std/os/linux/x86.zig +2 -2
  1143. package/std/os/linux/xtensa.zig +171 -0
  1144. package/std/os/linux.zig +793 -51
  1145. package/std/os/plan9.zig +1 -1
  1146. package/std/os/uefi/hii.zig +1 -1
  1147. package/std/os/uefi/tables/boot_services.zig +9 -8
  1148. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1149. package/std/os/windows.zig +130 -1
  1150. package/std/os.zig +36 -0
  1151. package/std/pie.zig +21 -0
  1152. package/std/posix.zig +2 -2
  1153. package/std/process/Environ.zig +1 -1
  1154. package/std/process.zig +6 -5
  1155. package/std/simd.zig +4 -21
  1156. package/std/sort.zig +3 -3
  1157. package/std/start.zig +45 -12
  1158. package/std/std.zig +8 -1
  1159. package/std/tar/Writer.zig +39 -33
  1160. package/std/tar.zig +8 -4
  1161. package/std/testing.zig +68 -15
  1162. package/std/unicode.zig +13 -8
  1163. package/std/zig/Ast/Render.zig +6 -30
  1164. package/std/zig/Ast.zig +12 -37
  1165. package/std/zig/AstGen.zig +174 -258
  1166. package/std/zig/AstRlAnnotate.zig +1 -11
  1167. package/std/zig/AstSmith.zig +5 -11
  1168. package/std/zig/ErrorBundle.zig +6 -2
  1169. package/std/zig/LibCDirs.zig +14 -7
  1170. package/std/zig/LibCInstallation.zig +34 -12
  1171. package/std/zig/Parse.zig +11 -76
  1172. package/std/zig/TokenSmith.zig +0 -6
  1173. package/std/zig/WindowsSdk.zig +18 -18
  1174. package/std/zig/Zir.zig +15 -69
  1175. package/std/zig/ZonGen.zig +19 -27
  1176. package/std/zig/llvm/Builder.zig +39 -33
  1177. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1178. package/std/zig/llvm/ir.zig +8 -8
  1179. package/std/zig/system/arm.zig +56 -2
  1180. package/std/zig/system/linux.zig +4 -0
  1181. package/std/zig/system/loongarch.zig +25 -9
  1182. package/std/zig/system/windows.zig +34 -1
  1183. package/std/zig/system/x86.zig +60 -16
  1184. package/std/zig/system.zig +2 -8
  1185. package/std/zig/target.zig +1 -4
  1186. package/std/zig/tokenizer.zig +4 -43
  1187. package/std/zig.zig +3 -4
  1188. package/std/zip.zig +5 -5
  1189. package/std/zon/parse.zig +1 -1
  1190. package/zig.h +364 -3
  1191. package/compiler_rt/long_double.zig +0 -37
  1192. package/include/amxbf16transposeintrin.h +0 -94
  1193. package/include/amxcomplextransposeintrin.h +0 -303
  1194. package/include/amxfp16transposeintrin.h +0 -94
  1195. package/include/amxmovrstransposeintrin.h +0 -200
  1196. package/include/amxtf32transposeintrin.h +0 -105
  1197. package/include/amxtransposeintrin.h +0 -248
  1198. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1199. package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
  1200. package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
  1201. package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
  1202. package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
  1203. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1204. package/libc/mingw/math/lrintl.c +0 -18
  1205. package/libc/mingw/math/rintl.c +0 -16
  1206. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1207. package/libc/musl/src/linux/tee.c +0 -8
  1208. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1209. package/libc/musl/src/math/i386/rintl.c +0 -7
  1210. package/libc/musl/src/math/lrintl.c +0 -36
  1211. package/libc/musl/src/math/rintl.c +0 -29
  1212. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1213. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1214. package/libc/musl/src/math/x32/rintl.s +0 -6
  1215. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1216. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1217. package/libc/musl/src/string/strdup.c +0 -10
  1218. package/libc/musl/src/string/strndup.c +0 -12
  1219. package/libc/musl/src/string/wcsdup.c +0 -10
  1220. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1221. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1222. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1223. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1224. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1225. package/libc/musl/src/unistd/dup2.c +0 -20
  1226. package/libc/musl/src/unistd/dup3.c +0 -26
  1227. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1228. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1229. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1230. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1231. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -164,7 +164,7 @@ pub fn DebugAllocator(comptime config: Config) type {
164
164
  return struct {
165
165
  backing_allocator: Allocator = std.heap.page_allocator,
166
166
  /// Tracks the active bucket, which is the one that has free slots in it.
167
- buckets: [small_bucket_count]?*BucketHeader = [1]?*BucketHeader{null} ** small_bucket_count,
167
+ buckets: [small_bucket_count]?*BucketHeader = @splat(null),
168
168
  large_allocations: LargeAllocTable = .empty,
169
169
  total_requested_bytes: @TypeOf(total_requested_bytes_init) = total_requested_bytes_init,
170
170
  requested_memory_limit: @TypeOf(requested_memory_limit_init) = requested_memory_limit_init,
@@ -189,7 +189,7 @@ pub fn DebugAllocator(comptime config: Config) type {
189
189
  const page_size = config.page_size;
190
190
  const page_align: mem.Alignment = .fromByteUnits(page_size);
191
191
  /// Integer type for pointing to slots in a small allocation
192
- const SlotIndex = std.meta.Int(.unsigned, math.log2(page_size) + 1);
192
+ const SlotIndex = @Int(.unsigned, math.log2(page_size) + 1);
193
193
 
194
194
  const total_requested_bytes_init = if (config.enable_memory_limit) @as(usize, 0) else {};
195
195
  const requested_memory_limit_init = if (config.enable_memory_limit) @as(usize, math.maxInt(usize)) else {};
@@ -3,11 +3,6 @@ const Allocator = std.mem.Allocator;
3
3
  const Alignment = std.mem.Alignment;
4
4
  const MemoryPool = std.heap.MemoryPool;
5
5
 
6
- /// Deprecated.
7
- pub fn Managed(comptime Item: type) type {
8
- return ExtraManaged(Item, .{ .alignment = null });
9
- }
10
-
11
6
  /// A memory pool that can allocate objects of a single type very quickly.
12
7
  /// Use this when you need to allocate a lot of objects of the same type,
13
8
  /// because it outperforms general purpose allocators.
@@ -18,11 +13,6 @@ pub fn Aligned(comptime Item: type, comptime alignment: Alignment) type {
18
13
  return Extra(Item, .{ .alignment = alignment });
19
14
  }
20
15
 
21
- /// Deprecated.
22
- pub fn AlignedManaged(comptime Item: type, comptime alignment: Alignment) type {
23
- return ExtraManaged(Item, .{ .alignment = alignment });
24
- }
25
-
26
16
  pub const Options = struct {
27
17
  /// The alignment of the memory pool items. Use `null` for natural alignment.
28
18
  alignment: ?Alignment = null,
@@ -83,13 +73,6 @@ pub fn Extra(comptime Item: type, comptime pool_options: Options) type {
83
73
  pool.* = undefined;
84
74
  }
85
75
 
86
- pub fn toManaged(pool: Pool, allocator: Allocator) ExtraManaged(Item, pool_options) {
87
- return .{
88
- .allocator = allocator,
89
- .unmanaged = pool,
90
- };
91
- }
92
-
93
76
  /// Pre-allocates `num` items and adds them to the memory pool.
94
77
  /// This allows at least `num` active allocations before an
95
78
  /// `OutOfMemory` error might happen when calling `create()`.
@@ -114,7 +97,7 @@ pub fn Extra(comptime Item: type, comptime pool_options: Options) type {
114
97
  /// NOTE: If `mode` is `free_all`, the function will always return `true`.
115
98
  pub fn reset(pool: *Pool, allocator: Allocator, mode: ResetMode) bool {
116
99
  // TODO: Potentially store all allocated objects in a list as well, allowing to
117
- // just move them into the free list instead of actually releasing the memory.
100
+ // just move them into the free list instead of actually releasing the memory.
118
101
 
119
102
  var arena = pool.arena_state.promote(allocator);
120
103
  defer pool.arena_state = arena.state;
@@ -155,182 +138,56 @@ pub fn Extra(comptime Item: type, comptime pool_options: Options) type {
155
138
  };
156
139
  }
157
140
 
158
- /// Deprecated.
159
- pub fn ExtraManaged(comptime Item: type, comptime pool_options: Options) type {
160
- if (pool_options.alignment) |a| {
161
- if (a.compare(.eq, .of(Item))) {
162
- var new_options = pool_options;
163
- new_options.alignment = null;
164
- return ExtraManaged(Item, new_options);
165
- }
166
- }
167
- return struct {
168
- const Pool = @This();
169
-
170
- allocator: Allocator,
171
- unmanaged: Unmanaged,
172
-
173
- pub const Unmanaged = Extra(Item, pool_options);
174
- pub const item_size = Unmanaged.item_size;
175
- pub const item_alignment = Unmanaged.item_alignment;
176
-
177
- const ItemPtr = Unmanaged.ItemPtr;
178
-
179
- /// Creates a new memory pool.
180
- pub fn init(allocator: Allocator) Pool {
181
- return Unmanaged.empty.toManaged(allocator);
182
- }
183
-
184
- /// Creates a new memory pool and pre-allocates `num` items.
185
- /// This allows up to `num` active allocations before an
186
- /// `OutOfMemory` error might happen when calling `create()`.
187
- pub fn initCapacity(allocator: Allocator, num: usize) Allocator.Error!Pool {
188
- return (try Unmanaged.initCapacity(allocator, num)).toManaged(allocator);
189
- }
190
-
191
- /// Destroys the memory pool and frees all allocated memory.
192
- pub fn deinit(pool: *Pool) void {
193
- pool.unmanaged.deinit(pool.allocator);
194
- pool.* = undefined;
195
- }
196
-
197
- /// Pre-allocates `num` items and adds them to the memory pool.
198
- /// This allows at least `num` active allocations before an
199
- /// `OutOfMemory` error might happen when calling `create()`.
200
- pub fn addCapacity(pool: *Pool, num: usize) Allocator.Error!void {
201
- return pool.unmanaged.addCapacity(pool.allocator, num);
202
- }
203
-
204
- pub const ResetMode = Unmanaged.ResetMode;
205
-
206
- /// Resets the memory pool and destroys all allocated items.
207
- /// This can be used to batch-destroy all objects without invalidating the memory pool.
208
- ///
209
- /// The function will return whether the reset operation was successful or not.
210
- /// If the reallocation failed `false` is returned. The pool will still be fully
211
- /// functional in that case, all memory is released. Future allocations just might
212
- /// be slower.
213
- ///
214
- /// NOTE: If `mode` is `free_all`, the function will always return `true`.
215
- pub fn reset(pool: *Pool, mode: ResetMode) bool {
216
- return pool.unmanaged.reset(pool.allocator, mode);
217
- }
218
-
219
- /// Creates a new item and adds it to the memory pool.
220
- pub fn create(pool: *Pool) Allocator.Error!ItemPtr {
221
- return pool.unmanaged.create(pool.allocator);
222
- }
223
-
224
- /// Destroys a previously created item.
225
- /// Only pass items to `ptr` that were previously created with `create()` of the same memory pool!
226
- pub fn destroy(pool: *Pool, ptr: ItemPtr) void {
227
- return pool.unmanaged.destroy(ptr);
228
- }
229
-
230
- fn allocNew(pool: *Pool) Allocator.Error!*align(item_alignment) [item_size]u8 {
231
- return pool.unmanaged.allocNew(pool.allocator);
232
- }
233
- };
234
- }
235
-
236
141
  test "basic" {
237
142
  const a = std.testing.allocator;
238
143
 
239
- {
240
- var pool: MemoryPool(u32) = .empty;
241
- defer pool.deinit(a);
242
-
243
- const p1 = try pool.create(a);
244
- const p2 = try pool.create(a);
245
- const p3 = try pool.create(a);
246
-
247
- // Assert uniqueness
248
- try std.testing.expect(p1 != p2);
249
- try std.testing.expect(p1 != p3);
250
- try std.testing.expect(p2 != p3);
144
+ var pool: MemoryPool(u32) = .empty;
145
+ defer pool.deinit(a);
251
146
 
252
- pool.destroy(p2);
253
- const p4 = try pool.create(a);
254
-
255
- // Assert memory reuse
256
- try std.testing.expect(p2 == p4);
257
- }
147
+ const p1 = try pool.create(a);
148
+ const p2 = try pool.create(a);
149
+ const p3 = try pool.create(a);
258
150
 
259
- {
260
- var pool: Managed(u32) = .init(std.testing.allocator);
261
- defer pool.deinit();
151
+ // Assert uniqueness
152
+ try std.testing.expect(p1 != p2);
153
+ try std.testing.expect(p1 != p3);
154
+ try std.testing.expect(p2 != p3);
262
155
 
263
- const p1 = try pool.create();
264
- const p2 = try pool.create();
265
- const p3 = try pool.create();
156
+ pool.destroy(p2);
157
+ const p4 = try pool.create(a);
266
158
 
267
- // Assert uniqueness
268
- try std.testing.expect(p1 != p2);
269
- try std.testing.expect(p1 != p3);
270
- try std.testing.expect(p2 != p3);
271
-
272
- pool.destroy(p2);
273
- const p4 = try pool.create();
274
-
275
- // Assert memory reuse
276
- try std.testing.expect(p2 == p4);
277
- }
159
+ // Assert memory reuse
160
+ try std.testing.expect(p2 == p4);
278
161
  }
279
162
 
280
163
  test "initCapacity (success)" {
281
164
  const a = std.testing.allocator;
282
165
 
283
- {
284
- var pool: MemoryPool(u32) = try .initCapacity(a, 4);
285
- defer pool.deinit(a);
286
-
287
- _ = try pool.create(a);
288
- _ = try pool.create(a);
289
- _ = try pool.create(a);
290
- }
291
-
292
- {
293
- var pool: Managed(u32) = try .initCapacity(a, 4);
294
- defer pool.deinit();
166
+ var pool: MemoryPool(u32) = try .initCapacity(a, 4);
167
+ defer pool.deinit(a);
295
168
 
296
- _ = try pool.create();
297
- _ = try pool.create();
298
- _ = try pool.create();
299
- }
169
+ _ = try pool.create(a);
170
+ _ = try pool.create(a);
171
+ _ = try pool.create(a);
300
172
  }
301
173
 
302
174
  test "initCapacity (failure)" {
303
175
  const failer = std.testing.failing_allocator;
304
176
  try std.testing.expectError(error.OutOfMemory, MemoryPool(u32).initCapacity(failer, 5));
305
- try std.testing.expectError(error.OutOfMemory, Managed(u32).initCapacity(failer, 5));
306
177
  }
307
178
 
308
179
  test "growable" {
309
180
  const a = std.testing.allocator;
310
181
 
311
- {
312
- var pool: Extra(u32, .{ .growable = false }) = try .initCapacity(a, 4);
313
- defer pool.deinit(a);
314
-
315
- _ = try pool.create(a);
316
- _ = try pool.create(a);
317
- _ = try pool.create(a);
318
- _ = try pool.create(a);
319
-
320
- try std.testing.expectError(error.OutOfMemory, pool.create(a));
321
- }
322
-
323
- {
324
- var pool: ExtraManaged(u32, .{ .growable = false }) = try .initCapacity(a, 4);
325
- defer pool.deinit();
182
+ var pool: Extra(u32, .{ .growable = false }) = try .initCapacity(a, 4);
183
+ defer pool.deinit(a);
326
184
 
327
- _ = try pool.create();
328
- _ = try pool.create();
329
- _ = try pool.create();
330
- _ = try pool.create();
185
+ _ = try pool.create(a);
186
+ _ = try pool.create(a);
187
+ _ = try pool.create(a);
188
+ _ = try pool.create(a);
331
189
 
332
- try std.testing.expectError(error.OutOfMemory, pool.create());
333
- }
190
+ try std.testing.expectError(error.OutOfMemory, pool.create(a));
334
191
  }
335
192
 
336
193
  test "greater than pointer default alignment" {
@@ -339,21 +196,11 @@ test "greater than pointer default alignment" {
339
196
  };
340
197
  const a = std.testing.allocator;
341
198
 
342
- {
343
- var pool: MemoryPool(Foo) = .empty;
344
- defer pool.deinit(a);
345
-
346
- const foo: *Foo = try pool.create(a);
347
- pool.destroy(foo);
348
- }
349
-
350
- {
351
- var pool: Managed(Foo) = .init(a);
352
- defer pool.deinit();
199
+ var pool: MemoryPool(Foo) = .empty;
200
+ defer pool.deinit(a);
353
201
 
354
- const foo: *Foo = try pool.create();
355
- pool.destroy(foo);
356
- }
202
+ const foo: *Foo = try pool.create(a);
203
+ pool.destroy(foo);
357
204
  }
358
205
 
359
206
  test "greater than pointer manual alignment" {
@@ -362,19 +209,9 @@ test "greater than pointer manual alignment" {
362
209
  };
363
210
  const a = std.testing.allocator;
364
211
 
365
- {
366
- var pool: Aligned(Foo, .@"16") = .empty;
367
- defer pool.deinit(a);
368
-
369
- const foo: *align(16) Foo = try pool.create(a);
370
- pool.destroy(foo);
371
- }
212
+ var pool: Aligned(Foo, .@"16") = .empty;
213
+ defer pool.deinit(a);
372
214
 
373
- {
374
- var pool: AlignedManaged(Foo, .@"16") = .init(a);
375
- defer pool.deinit();
376
-
377
- const foo: *align(16) Foo = try pool.create();
378
- pool.destroy(foo);
379
- }
215
+ const foo: *align(16) Foo = try pool.create(a);
216
+ pool.destroy(foo);
380
217
  }
package/std/heap.zig CHANGED
@@ -11,13 +11,18 @@ const Alignment = std.mem.Alignment;
11
11
 
12
12
  pub const ArenaAllocator = @import("heap/ArenaAllocator.zig");
13
13
  pub const SmpAllocator = @import("heap/SmpAllocator.zig");
14
+ pub const SafeAllocator = @import("heap/SafeAllocator.zig");
14
15
  pub const FixedBufferAllocator = @import("heap/FixedBufferAllocator.zig");
16
+ pub const BufferFirstAllocator = @import("heap/BufferFirstAllocator.zig");
15
17
  pub const PageAllocator = @import("heap/PageAllocator.zig");
16
18
  pub const WasmAllocator = if (builtin.single_threaded) BrkAllocator else @compileError("unimplemented");
17
19
  pub const BrkAllocator = @import("heap/BrkAllocator.zig");
18
20
 
21
+ /// Deprecated; use `SafeAllocator.Options`.
19
22
  pub const DebugAllocatorConfig = @import("heap/debug_allocator.zig").Config;
23
+ /// Deprecated; use `SafeAllocator`.
20
24
  pub const DebugAllocator = @import("heap/debug_allocator.zig").DebugAllocator;
25
+ /// Deprecated.
21
26
  pub const Check = enum { ok, leak };
22
27
 
23
28
  /// A memory pool that can allocate objects of a single type very quickly.
@@ -29,13 +34,6 @@ pub fn MemoryPool(comptime Item: type) type {
29
34
  }
30
35
  pub const memory_pool = @import("heap/memory_pool.zig");
31
36
 
32
- /// Deprecated; use `memory_pool.Aligned`.
33
- pub const MemoryPoolAligned = memory_pool.Aligned;
34
- /// Deprecated; use `memory_pool.Extra`.
35
- pub const MemoryPoolExtra = memory_pool.Extra;
36
- /// Deprecated; use `memory_pool.Options`.
37
- pub const MemoryPoolOptions = memory_pool.Options;
38
-
39
37
  /// comptime-known minimum page size of the target.
40
38
  ///
41
39
  /// All pointers from `mmap` or `NtAllocateVirtualMemory` are aligned to at least
@@ -367,113 +365,6 @@ pub const brk_allocator: Allocator = .{
367
365
  .vtable = &BrkAllocator.vtable,
368
366
  };
369
367
 
370
- /// Returns a `StackFallbackAllocator` allocating using either a
371
- /// `FixedBufferAllocator` on an array of size `size` and falling back to
372
- /// `fallback_allocator` if that fails.
373
- pub fn stackFallback(comptime size: usize, fallback_allocator: Allocator) StackFallbackAllocator(size) {
374
- return StackFallbackAllocator(size){
375
- .buffer = undefined,
376
- .fallback_allocator = fallback_allocator,
377
- .fixed_buffer_allocator = undefined,
378
- };
379
- }
380
-
381
- /// An allocator that attempts to allocate using a
382
- /// `FixedBufferAllocator` using an array of size `size`. If the
383
- /// allocation fails, it will fall back to using
384
- /// `fallback_allocator`. Easily created with `stackFallback`.
385
- pub fn StackFallbackAllocator(comptime size: usize) type {
386
- return struct {
387
- const Self = @This();
388
-
389
- buffer: [size]u8,
390
- fallback_allocator: Allocator,
391
- fixed_buffer_allocator: FixedBufferAllocator,
392
- get_called: if (std.debug.runtime_safety) bool else void =
393
- if (std.debug.runtime_safety) false else {},
394
-
395
- /// This function both fetches a `Allocator` interface to this
396
- /// allocator *and* resets the internal buffer allocator.
397
- pub fn get(self: *Self) Allocator {
398
- if (std.debug.runtime_safety) {
399
- assert(!self.get_called); // `get` called multiple times; instead use `const allocator = stackFallback(N).get();`
400
- self.get_called = true;
401
- }
402
- self.fixed_buffer_allocator = FixedBufferAllocator.init(self.buffer[0..]);
403
- return .{
404
- .ptr = self,
405
- .vtable = &.{
406
- .alloc = alloc,
407
- .resize = resize,
408
- .remap = remap,
409
- .free = free,
410
- },
411
- };
412
- }
413
-
414
- /// Unlike most std allocators `StackFallbackAllocator` modifies
415
- /// its internal state before returning an implementation of
416
- /// the`Allocator` interface and therefore also doesn't use
417
- /// the usual `.allocator()` method.
418
- pub const allocator = @compileError("use 'const allocator = stackFallback(N).get();' instead");
419
-
420
- fn alloc(
421
- ctx: *anyopaque,
422
- len: usize,
423
- alignment: Alignment,
424
- ra: usize,
425
- ) ?[*]u8 {
426
- const self: *Self = @ptrCast(@alignCast(ctx));
427
- return FixedBufferAllocator.alloc(&self.fixed_buffer_allocator, len, alignment, ra) orelse
428
- return self.fallback_allocator.rawAlloc(len, alignment, ra);
429
- }
430
-
431
- fn resize(
432
- ctx: *anyopaque,
433
- buf: []u8,
434
- alignment: Alignment,
435
- new_len: usize,
436
- ra: usize,
437
- ) bool {
438
- const self: *Self = @ptrCast(@alignCast(ctx));
439
- if (self.fixed_buffer_allocator.ownsPtr(buf.ptr)) {
440
- return FixedBufferAllocator.resize(&self.fixed_buffer_allocator, buf, alignment, new_len, ra);
441
- } else {
442
- return self.fallback_allocator.rawResize(buf, alignment, new_len, ra);
443
- }
444
- }
445
-
446
- fn remap(
447
- context: *anyopaque,
448
- memory: []u8,
449
- alignment: Alignment,
450
- new_len: usize,
451
- return_address: usize,
452
- ) ?[*]u8 {
453
- const self: *Self = @ptrCast(@alignCast(context));
454
- if (self.fixed_buffer_allocator.ownsPtr(memory.ptr)) {
455
- return FixedBufferAllocator.remap(&self.fixed_buffer_allocator, memory, alignment, new_len, return_address);
456
- } else {
457
- return self.fallback_allocator.rawRemap(memory, alignment, new_len, return_address);
458
- }
459
- }
460
-
461
- fn free(
462
- ctx: *anyopaque,
463
- buf: []u8,
464
- alignment: Alignment,
465
- ra: usize,
466
- ) void {
467
- const self: *Self = @ptrCast(@alignCast(ctx));
468
- if (self.fixed_buffer_allocator.ownsPtr(buf.ptr)) {
469
- return FixedBufferAllocator.free(&self.fixed_buffer_allocator, buf, alignment, ra);
470
- } else {
471
- return self.fallback_allocator.rawFree(buf, alignment, ra);
472
- }
473
- }
474
- };
475
- }
476
-
477
368
  test c_allocator {
478
369
  if (builtin.link_libc) {
479
370
  try testAllocator(c_allocator);
@@ -491,6 +382,17 @@ test smp_allocator {
491
382
  try testAllocatorAlignedShrink(smp_allocator);
492
383
  }
493
384
 
385
+ test SafeAllocator {
386
+ var instance: SafeAllocator = .init(page_allocator, .{});
387
+ defer _ = instance.deinit();
388
+ const allocator = instance.allocator();
389
+
390
+ try testAllocator(allocator);
391
+ try testAllocatorAligned(allocator);
392
+ try testAllocatorLargeAlignment(allocator);
393
+ try testAllocatorAlignedShrink(allocator);
394
+ }
395
+
494
396
  test PageAllocator {
495
397
  const allocator = page_allocator;
496
398
  try testAllocator(allocator);
@@ -524,25 +426,6 @@ test ArenaAllocator {
524
426
  try testAllocatorAlignedShrink(allocator);
525
427
  }
526
428
 
527
- test "StackFallbackAllocator" {
528
- {
529
- var stack_allocator = stackFallback(4096, std.testing.allocator);
530
- try testAllocator(stack_allocator.get());
531
- }
532
- {
533
- var stack_allocator = stackFallback(4096, std.testing.allocator);
534
- try testAllocatorAligned(stack_allocator.get());
535
- }
536
- {
537
- var stack_allocator = stackFallback(4096, std.testing.allocator);
538
- try testAllocatorLargeAlignment(stack_allocator.get());
539
- }
540
- {
541
- var stack_allocator = stackFallback(4096, std.testing.allocator);
542
- try testAllocatorAlignedShrink(stack_allocator.get());
543
- }
544
- }
545
-
546
429
  /// This one should not try alignments that exceed what C malloc can handle.
547
430
  pub fn testAllocator(base_allocator: mem.Allocator) !void {
548
431
  var validationAllocator = mem.validationWrap(base_allocator);
@@ -740,6 +623,7 @@ const page_size_min_default: ?usize = switch (builtin.os.tag) {
740
623
  .hppa => 4 << 10,
741
624
  .x86, .x86_64 => 4 << 10,
742
625
  .thumb, .thumbeb, .arm, .armeb, .aarch64, .aarch64_be => 4 << 10,
626
+ .m88k => 4 << 10,
743
627
  .mips64, .mips64el => 4 << 10,
744
628
  .powerpc, .powerpc64, .powerpc64le, .powerpcle => 4 << 10,
745
629
  .riscv64 => 4 << 10,
@@ -903,6 +787,7 @@ const page_size_max_default: ?usize = switch (builtin.os.tag) {
903
787
  .hppa => 4 << 10,
904
788
  .x86, .x86_64 => 4 << 10,
905
789
  .thumb, .thumbeb, .arm, .armeb, .aarch64, .aarch64_be => 4 << 10,
790
+ .m88k => 4 << 10,
906
791
  .mips64, .mips64el => 16 << 10,
907
792
  .powerpc, .powerpc64, .powerpc64le, .powerpcle => 4 << 10,
908
793
  .riscv64 => 4 << 10,
@@ -1010,7 +895,9 @@ test {
1010
895
  _ = @import("heap/memory_pool.zig");
1011
896
  _ = ArenaAllocator;
1012
897
  _ = DebugAllocator(.{});
898
+ _ = SafeAllocator;
1013
899
  _ = FixedBufferAllocator;
900
+ _ = BufferFirstAllocator;
1014
901
  if (builtin.single_threaded) {
1015
902
  if (builtin.cpu.arch.isWasm() or (builtin.os.tag == .linux and !builtin.link_libc)) {
1016
903
  _ = brk_allocator;
@@ -4,8 +4,6 @@
4
4
  //!
5
5
  //! TLS support may be disabled via `std.options.http_disable_tls`.
6
6
  //!
7
- //! TODO all the lockUncancelable in this file should be changed to regular lock and
8
- //! `error.Canceled` added to more error sets.
9
7
  const Client = @This();
10
8
 
11
9
  const builtin = @import("builtin");
@@ -84,8 +82,8 @@ pub const ConnectionPool = struct {
84
82
  /// If no connection is found, null is returned.
85
83
  ///
86
84
  /// Threadsafe.
87
- pub fn findConnection(pool: *ConnectionPool, io: Io, criteria: Criteria) ?*Connection {
88
- pool.mutex.lockUncancelable(io);
85
+ pub fn findConnection(pool: *ConnectionPool, io: Io, criteria: Criteria) Io.Cancelable!?*Connection {
86
+ try pool.mutex.lock(io);
89
87
  defer pool.mutex.unlock(io);
90
88
 
91
89
  var next = pool.free.last;
@@ -113,8 +111,8 @@ pub const ConnectionPool = struct {
113
111
  }
114
112
 
115
113
  /// Acquires an existing connection from the connection pool. This function is threadsafe.
116
- pub fn acquire(pool: *ConnectionPool, io: Io, connection: *Connection) void {
117
- pool.mutex.lockUncancelable(io);
114
+ pub fn acquire(pool: *ConnectionPool, io: Io, connection: *Connection) Io.Cancelable!void {
115
+ try pool.mutex.lock(io);
118
116
  defer pool.mutex.unlock(io);
119
117
 
120
118
  return pool.acquireUnsafe(connection);
@@ -150,8 +148,8 @@ pub const ConnectionPool = struct {
150
148
  }
151
149
 
152
150
  /// Adds a newly created node to the pool of used connections. This function is threadsafe.
153
- pub fn addUsed(pool: *ConnectionPool, io: Io, connection: *Connection) void {
154
- pool.mutex.lockUncancelable(io);
151
+ pub fn addUsed(pool: *ConnectionPool, io: Io, connection: *Connection) Io.Cancelable!void {
152
+ try pool.mutex.lock(io);
155
153
  defer pool.mutex.unlock(io);
156
154
 
157
155
  pool.used.append(&connection.pool_node);
@@ -162,18 +160,15 @@ pub const ConnectionPool = struct {
162
160
  /// If the new size is smaller than the current size, then idle connections will be closed until the pool is the new size.
163
161
  ///
164
162
  /// Threadsafe.
165
- pub fn resize(pool: *ConnectionPool, io: Io, allocator: Allocator, new_size: usize) void {
166
- pool.mutex.lockUncancelable(io);
163
+ pub fn resize(pool: *ConnectionPool, io: Io, new_size: usize) Io.Cancelable!void {
164
+ try pool.mutex.lock(io);
167
165
  defer pool.mutex.unlock(io);
168
166
 
169
- const next = pool.free.first;
170
- _ = next;
171
167
  while (pool.free_len > new_size) {
172
- const popped = pool.free.popFirst() orelse unreachable;
168
+ const popped: *Connection = @alignCast(@fieldParentPtr("pool_node", pool.free.popFirst().?));
173
169
  pool.free_len -= 1;
174
170
 
175
- popped.data.close(allocator);
176
- allocator.destroy(popped);
171
+ popped.destroy(io);
177
172
  }
178
173
 
179
174
  pool.free_size = new_size;
@@ -1323,7 +1318,7 @@ pub fn initDefaultProxies(client: *Client, arena: Allocator, environ_map: *const
1323
1318
  const io = client.io;
1324
1319
 
1325
1320
  // Prevent any new connections from being created.
1326
- client.connection_pool.mutex.lockUncancelable(io);
1321
+ try client.connection_pool.mutex.lock(io);
1327
1322
  defer client.connection_pool.mutex.unlock(io);
1328
1323
 
1329
1324
  assert(client.connection_pool.used.first == null); // There are active requests.
@@ -1418,7 +1413,7 @@ pub const basic_authorization = struct {
1418
1413
 
1419
1414
  pub const ConnectTcpError = error{
1420
1415
  TlsInitializationFailed,
1421
- } || Allocator.Error || HostName.ConnectError;
1416
+ } || Allocator.Error || HostName.ConnectError || Io.Cancelable;
1422
1417
 
1423
1418
  /// Reuses a `Connection` if one matching `host` and `port` is already open.
1424
1419
  ///
@@ -1451,7 +1446,7 @@ pub fn connectTcpOptions(client: *Client, options: ConnectTcpOptions) ConnectTcp
1451
1446
  const proxied_host = options.proxied_host orelse host;
1452
1447
  const proxied_port = options.proxied_port orelse port;
1453
1448
 
1454
- if (client.connection_pool.findConnection(io, .{
1449
+ if (try client.connection_pool.findConnection(io, .{
1455
1450
  .host = proxied_host,
1456
1451
  .port = proxied_port,
1457
1452
  .protocol = protocol,
@@ -1469,18 +1464,20 @@ pub fn connectTcpOptions(client: *Client, options: ConnectTcpOptions) ConnectTcp
1469
1464
  error.Canceled => |e| return e,
1470
1465
  else => return error.TlsInitializationFailed,
1471
1466
  };
1472
- client.connection_pool.addUsed(io, &tc.connection);
1467
+ errdefer tc.destroy();
1468
+ try client.connection_pool.addUsed(io, &tc.connection);
1473
1469
  return &tc.connection;
1474
1470
  },
1475
1471
  .plain => {
1476
1472
  const pc = try Connection.Plain.create(client, proxied_host, proxied_port, stream);
1477
- client.connection_pool.addUsed(io, &pc.connection);
1473
+ errdefer pc.destroy();
1474
+ try client.connection_pool.addUsed(io, &pc.connection);
1478
1475
  return &pc.connection;
1479
1476
  },
1480
1477
  }
1481
1478
  }
1482
1479
 
1483
- pub const ConnectUnixError = Allocator.Error || std.posix.SocketError || error{NameTooLong} || std.posix.ConnectError;
1480
+ pub const ConnectUnixError = Allocator.Error || std.posix.SocketError || error{NameTooLong} || std.posix.ConnectError || Io.Cancelable;
1484
1481
 
1485
1482
  /// Connect to `path` as a unix domain socket. This will reuse a connection if one is already open.
1486
1483
  ///
@@ -1488,7 +1485,7 @@ pub const ConnectUnixError = Allocator.Error || std.posix.SocketError || error{N
1488
1485
  pub fn connectUnix(client: *Client, path: []const u8) ConnectUnixError!*Connection {
1489
1486
  const io = client.io;
1490
1487
 
1491
- if (client.connection_pool.findConnection(io, .{
1488
+ if (try client.connection_pool.findConnection(io, .{
1492
1489
  .host = path,
1493
1490
  .port = 0,
1494
1491
  .protocol = .plain,
@@ -1512,7 +1509,7 @@ pub fn connectUnix(client: *Client, path: []const u8) ConnectUnixError!*Connecti
1512
1509
  };
1513
1510
  errdefer client.allocator.free(conn.data.host);
1514
1511
 
1515
- client.connection_pool.addUsed(conn);
1512
+ try client.connection_pool.addUsed(conn);
1516
1513
 
1517
1514
  return &conn.data;
1518
1515
  }
@@ -1530,7 +1527,7 @@ pub fn connectProxied(
1530
1527
  const io = client.io;
1531
1528
  if (!proxy.supports_connect) return error.TunnelNotSupported;
1532
1529
 
1533
- if (client.connection_pool.findConnection(io, .{
1530
+ if (try client.connection_pool.findConnection(io, .{
1534
1531
  .host = proxied_host,
1535
1532
  .port = proxied_port,
1536
1533
  .protocol = proxy.protocol,