@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
package/std/os/linux.zig CHANGED
@@ -18,6 +18,7 @@ const is_mips = native_arch.isMIPS();
18
18
  const is_ppc = native_arch.isPowerPC();
19
19
  const is_riscv = native_arch.isRISCV();
20
20
  const is_sparc = native_arch.isSPARC();
21
+ const is_hppa = native_arch.isHppa();
21
22
  const iovec = std.posix.iovec;
22
23
  const iovec_const = std.posix.iovec_const;
23
24
  const winsize = std.posix.winsize;
@@ -31,6 +32,7 @@ test {
31
32
 
32
33
  const arch_bits = switch (native_arch) {
33
34
  .aarch64, .aarch64_be => @import("linux/aarch64.zig"),
35
+ .alpha => @import("linux/alpha.zig"),
34
36
  .arc, .arceb => @import("linux/arc.zig"),
35
37
  .arm, .armeb, .thumb, .thumbeb => @import("linux/arm.zig"),
36
38
  .hexagon => @import("linux/hexagon.zig"),
@@ -54,6 +56,7 @@ const arch_bits = switch (native_arch) {
54
56
  .gnux32, .muslx32 => @import("linux/x32.zig"),
55
57
  else => @import("linux/x86_64.zig"),
56
58
  },
59
+ .xtensa, .xtensaeb => @import("linux/xtensa.zig"),
57
60
  else => struct {},
58
61
  };
59
62
 
@@ -96,7 +99,6 @@ pub fn clone(
96
99
  }
97
100
 
98
101
  pub const ARCH = arch_bits.ARCH;
99
- pub const HWCAP = arch_bits.HWCAP;
100
102
  pub const SC = arch_bits.SC;
101
103
  pub const VDSO = arch_bits.VDSO;
102
104
  pub const user_desc = arch_bits.user_desc;
@@ -125,6 +127,7 @@ pub const syscalls = @import("linux/syscalls.zig");
125
127
  pub const SYS = switch (native_arch) {
126
128
  .arc, .arceb => syscalls.Arc,
127
129
  .aarch64, .aarch64_be => syscalls.Arm64,
130
+ .alpha => syscalls.Alpha,
128
131
  .arm, .armeb, .thumb, .thumbeb => syscalls.Arm,
129
132
  .csky => syscalls.CSky,
130
133
  .hexagon => syscalls.Hexagon,
@@ -312,6 +315,53 @@ pub const MAP = switch (native_arch) {
312
315
  UNINITIALIZED: bool = false,
313
316
  _: u5 = 0,
314
317
  },
318
+ .alpha => packed struct(u32) {
319
+ TYPE: MAP_TYPE,
320
+ ANONYMOUS: bool = false,
321
+ _3: u1 = 0,
322
+ _4: u1 = 0,
323
+ _5: u1 = 0,
324
+ FIXED: bool = false,
325
+ _7: u1 = 0,
326
+ _8: u1 = 0,
327
+ _9: u1 = 0,
328
+ GROWSDOWN: bool = false,
329
+ DENYWRITE: bool = false,
330
+ EXECUTABLE: bool = false,
331
+ LOCKED: bool = false,
332
+ NORESERVE: bool = false,
333
+ POPULATE: bool = false,
334
+ NONBLOCK: bool = false,
335
+ STACK: bool = false,
336
+ HUGHETLB: bool = false,
337
+ FIXED_NOREPLACE: bool = false,
338
+ _19: u4 = 0,
339
+ _20: u1 = 0,
340
+ _: u5 = 0,
341
+ },
342
+ .xtensa, .xtensaeb => packed struct(u32) {
343
+ TYPE: MAP_TYPE,
344
+ FIXED: bool = false,
345
+ _RENAME: bool = false,
346
+ _AUTOGROW: bool = false,
347
+ _LOCAL: bool = false,
348
+ _AUTORSRV: bool = false,
349
+ _1: u1 = 0,
350
+ NORESERVE: bool = false,
351
+ ANONYMOUS: bool = false,
352
+ GROWSDOWN: bool = false,
353
+ DENYWRITE: bool = false,
354
+ EXECUTABLE: bool = false,
355
+ LOCKED: bool = false,
356
+ POPULATE: bool = false,
357
+ NONBLOCK: bool = false,
358
+ STACK: bool = false,
359
+ HUGETLB: bool = false,
360
+ FIXED_NOREPLACE: bool = false,
361
+ _2: u5 = 0,
362
+ UNINITIALIZED: bool = false,
363
+ _3: u5 = 0,
364
+ },
315
365
  else => @compileError("missing std.os.linux.MAP constants for this architecture"),
316
366
  };
317
367
 
@@ -471,6 +521,8 @@ pub const O = switch (native_arch) {
471
521
  .hexagon,
472
522
  .or1k,
473
523
  .s390x,
524
+ .xtensa,
525
+ .xtensaeb,
474
526
  => packed struct(u32) {
475
527
  ACCMODE: ACCMODE = .RDONLY,
476
528
  _2: u4 = 0,
@@ -521,9 +573,79 @@ pub const O = switch (native_arch) {
521
573
  PATH: bool = false,
522
574
  _22: u10 = 0,
523
575
  },
576
+ .alpha => packed struct(u32) {
577
+ ACCMODE: ACCMODE = .RDONLY,
578
+ NONBLOCK: bool = false,
579
+ APPEND: bool = false,
580
+ _4: u5 = 0,
581
+ CREAT: bool = false,
582
+ TRUNC: bool = false,
583
+ EXCL: bool = false,
584
+ NOCTTY: bool = false,
585
+ _9: u1 = 0,
586
+ DSYNC: bool = false,
587
+ DIRECTORY: bool = false,
588
+ NOFOLLOW: bool = false,
589
+ LARGEFILE: bool = false,
590
+ _14: u1 = 0,
591
+ DIRECT: bool = false,
592
+ NOATIME: bool = false,
593
+ CLOEXEC: bool = false,
594
+ SYNC: bool = false,
595
+ PATH: bool = false,
596
+ TMPFILE: bool = false,
597
+ _: u7 = 0,
598
+ },
524
599
  else => @compileError("missing std.os.linux.O constants for this architecture"),
525
600
  };
526
601
 
602
+ pub const HWCAP = switch (native_arch) {
603
+ .arm, .armeb, .thumb, .thumbeb => struct {
604
+ pub const SWP = 1 << 0;
605
+ pub const HALF = 1 << 1;
606
+ pub const THUMB = 1 << 2;
607
+ pub const @"26BIT" = 1 << 3;
608
+ pub const FAST_MULT = 1 << 4;
609
+ pub const FPA = 1 << 5;
610
+ pub const VFP = 1 << 6;
611
+ pub const EDSP = 1 << 7;
612
+ pub const JAVA = 1 << 8;
613
+ pub const IWMMXT = 1 << 9;
614
+ pub const CRUNCH = 1 << 10;
615
+ pub const THUMBEE = 1 << 11;
616
+ pub const NEON = 1 << 12;
617
+ pub const VFPv3 = 1 << 13;
618
+ pub const VFPv3D16 = 1 << 14;
619
+ pub const TLS = 1 << 15;
620
+ pub const VFPv4 = 1 << 16;
621
+ pub const IDIVA = 1 << 17;
622
+ pub const IDIVT = 1 << 18;
623
+ pub const VFPD32 = 1 << 19;
624
+ pub const IDIV = IDIVA | IDIVT;
625
+ pub const LPAE = 1 << 20;
626
+ pub const EVTSTRM = 1 << 21;
627
+ },
628
+ .loongarch32, .loongarch64 => struct {
629
+ pub const CPUCFG = 1 << 0;
630
+ pub const LAM = 1 << 1;
631
+ pub const UAL = 1 << 2;
632
+ pub const FPU = 1 << 3;
633
+ pub const LSX = 1 << 4;
634
+ pub const LASX = 1 << 5;
635
+ pub const CRC32 = 1 << 6;
636
+ pub const COMPLEX = 1 << 7;
637
+ pub const CRYPTO = 1 << 8;
638
+ pub const LVZ = 1 << 9;
639
+ pub const LBT_X86 = 1 << 10;
640
+ pub const LBT_ARM = 1 << 11;
641
+ pub const LBT_MIPS = 1 << 12;
642
+ pub const PTW = 1 << 13;
643
+ pub const LSPW = 1 << 14;
644
+ pub const SCQ = 1 << 15;
645
+ },
646
+ else => struct {},
647
+ };
648
+
527
649
  pub const RENAME = packed struct(u32) {
528
650
  /// Cannot be set together with `EXCHANGE`.
529
651
  NOREPLACE: bool = false,
@@ -887,21 +1009,21 @@ pub fn getcwd(buf: [*]u8, size: usize) usize {
887
1009
  return syscall2(.getcwd, @intFromPtr(buf), size);
888
1010
  }
889
1011
 
890
- pub fn getdents(fd: fd_t, dirp: [*]u8, len: usize) usize {
1012
+ pub fn getdents(fd: fd_t, dirp: [*]u8, len: c_uint) usize {
891
1013
  return syscall3(
892
1014
  .getdents,
893
1015
  @as(u32, @bitCast(fd)),
894
1016
  @intFromPtr(dirp),
895
- @min(len, maxInt(c_int)),
1017
+ len,
896
1018
  );
897
1019
  }
898
1020
 
899
- pub fn getdents64(fd: fd_t, dirp: [*]u8, len: usize) usize {
1021
+ pub fn getdents64(fd: fd_t, dirp: [*]u8, len: c_uint) usize {
900
1022
  return syscall3(
901
1023
  .getdents64,
902
1024
  @as(u32, @bitCast(fd)),
903
1025
  @intFromPtr(dirp),
904
- @min(len, maxInt(c_int)),
1026
+ len,
905
1027
  );
906
1028
  }
907
1029
 
@@ -1256,21 +1378,23 @@ pub fn munlockall() usize {
1256
1378
  }
1257
1379
 
1258
1380
  pub fn poll(fds: [*]pollfd, n: nfds_t, timeout: i32) usize {
1259
- return if (@hasField(SYS, "poll"))
1260
- return syscall3(.poll, @intFromPtr(fds), n, @as(u32, @bitCast(timeout)))
1261
- else
1262
- ppoll(
1381
+ if (@hasField(SYS, "poll")) {
1382
+ return syscall3(.poll, @intFromPtr(fds), n, @as(u32, @bitCast(timeout)));
1383
+ } else {
1384
+ var ts: timespec = if (timeout >= 0)
1385
+ .{
1386
+ .sec = @divTrunc(timeout, 1000),
1387
+ .nsec = @rem(timeout, 1000) * 1000000,
1388
+ }
1389
+ else
1390
+ undefined;
1391
+ return ppoll(
1263
1392
  fds,
1264
1393
  n,
1265
- if (timeout >= 0)
1266
- @constCast(&timespec{
1267
- .sec = @divTrunc(timeout, 1000),
1268
- .nsec = @rem(timeout, 1000) * 1000000,
1269
- })
1270
- else
1271
- null,
1394
+ if (timeout >= 0) &ts else null,
1272
1395
  null,
1273
1396
  );
1397
+ }
1274
1398
  }
1275
1399
 
1276
1400
  pub fn ppoll(fds: [*]pollfd, n: nfds_t, timeout: ?*timespec, sigmask: ?*const sigset_t) usize {
@@ -1846,23 +1970,68 @@ pub const F = struct {
1846
1970
  pub const SETLK = GET_SET_LK.SETLK;
1847
1971
  pub const SETLKW = GET_SET_LK.SETLKW;
1848
1972
 
1849
- const GET_SET_LK = if (@sizeOf(usize) == 64) extern struct {
1850
- pub const GETLK = if (is_mips) 14 else if (is_sparc) 7 else 5;
1851
- pub const SETLK = if (is_mips) 6 else if (is_sparc) 8 else 6;
1852
- pub const SETLKW = if (is_mips) 7 else if (is_sparc) 9 else 7;
1853
- } else extern struct {
1854
- // Ensure that 32-bit code uses the large-file variants (GETLK64, etc).
1973
+ pub const SETOWN = GET_SET_OWN.SETOWN;
1974
+ pub const GETOWN = GET_SET_OWN.GETOWN;
1855
1975
 
1856
- pub const GETLK = if (is_mips) 33 else 12;
1857
- pub const SETLK = if (is_mips) 34 else 13;
1858
- pub const SETLKW = if (is_mips) 35 else 14;
1976
+ const GET_SET_LK = switch (native_arch) {
1977
+ .mips, .mipsel => struct {
1978
+ const GETLK = 33;
1979
+ const SETLK = 34;
1980
+ const SETLKW = 35;
1981
+ },
1982
+ .mips64, .mips64el => switch (native_abi) {
1983
+ .gnuabin32, .muslabin32 => struct {
1984
+ const GETLK = 33;
1985
+ const SETLK = 34;
1986
+ const SETLKW = 35;
1987
+ },
1988
+ else => struct {
1989
+ const GETLK = 14;
1990
+ const SETLK = 6;
1991
+ const SETLKW = 7;
1992
+ },
1993
+ },
1994
+ .alpha, .sparc64 => struct {
1995
+ const GETLK = 7;
1996
+ const SETLK = 8;
1997
+ const SETLKW = 9;
1998
+ },
1999
+ .hppa, .hppa64 => struct {
2000
+ const GETLK = 8;
2001
+ const SETLK = 9;
2002
+ const SETLKW = 10;
2003
+ },
2004
+ else => if (@sizeOf(usize) == 8) struct {
2005
+ const GETLK = 5;
2006
+ const SETLK = 6;
2007
+ const SETLKW = 7;
2008
+ } else struct {
2009
+ const GETLK = 12;
2010
+ const SETLK = 13;
2011
+ const SETLKW = 14;
2012
+ },
2013
+ };
2014
+ const GET_SET_OWN = switch (native_arch) {
2015
+ .mips, .mipsel, .mips64, .mips64el => struct {
2016
+ const GETOWN = 23;
2017
+ const SETOWN = 24;
2018
+ },
2019
+ .alpha, .sparc, .sparc64 => struct {
2020
+ const GETOWN = 5;
2021
+ const SETOWN = 6;
2022
+ },
2023
+ .hppa, .hppa64 => struct {
2024
+ const GETOWN = 11;
2025
+ const SETOWN = 12;
2026
+ },
2027
+ else => struct {
2028
+ const GETOWN = 8;
2029
+ const SETOWN = 9;
2030
+ },
1859
2031
  };
1860
2032
 
1861
- pub const SETOWN = if (is_mips) 24 else if (is_sparc) 6 else 8;
1862
- pub const GETOWN = if (is_mips) 23 else if (is_sparc) 5 else 9;
1863
-
1864
- pub const SETSIG = 10;
1865
- pub const GETSIG = 11;
2033
+ pub const SETSIG = if (is_hppa or native_arch == .alpha) 13 else 11;
2034
+ pub const GETSIG = if (is_hppa or native_arch == .alpha) 14 else 12;
1866
2035
 
1867
2036
  pub const SETOWN_EX = 15;
1868
2037
  pub const GETOWN_EX = 16;
@@ -1875,7 +2044,7 @@ pub const F = struct {
1875
2044
 
1876
2045
  pub const RDLCK = if (is_sparc) 1 else 0;
1877
2046
  pub const WRLCK = if (is_sparc) 2 else 1;
1878
- pub const UNLCK = if (is_sparc) 3 else 2;
2047
+ pub const UNLCK = if (is_sparc) 3 else if (native_arch == .alpha) 8 else 2;
1879
2048
 
1880
2049
  pub const LINUX_SPECIFIC_BASE = 1024;
1881
2050
 
@@ -2262,12 +2431,12 @@ pub fn sigrtmax() u8 {
2262
2431
 
2263
2432
  /// Zig's version of sigemptyset. Returns initialized sigset_t.
2264
2433
  pub fn sigemptyset() sigset_t {
2265
- return [_]SigsetElement{0} ** sigset_len;
2434
+ return @splat(0);
2266
2435
  }
2267
2436
 
2268
2437
  /// Zig's version of sigfillset. Returns initalized sigset_t.
2269
2438
  pub fn sigfillset() sigset_t {
2270
- return [_]SigsetElement{~@as(SigsetElement, 0)} ** sigset_len;
2439
+ return @splat(~@as(SigsetElement, 0));
2271
2440
  }
2272
2441
 
2273
2442
  fn sigset_bit_index(sig: SIG) struct { word: usize, mask: SigsetElement } {
@@ -2981,6 +3150,16 @@ pub fn map_shadow_stack(addr: usize, size: usize, flags: u32) usize {
2981
3150
  return syscall3(.map_shadow_stack, addr, size, flags);
2982
3151
  }
2983
3152
 
3153
+ pub fn tee(src: fd_t, dest: fd_t, len: usize, flags: u32) usize {
3154
+ return syscall4(
3155
+ .tee,
3156
+ @as(u32, @bitCast(src)),
3157
+ @as(u32, @bitCast(dest)),
3158
+ len,
3159
+ flags,
3160
+ );
3161
+ }
3162
+
2984
3163
  pub const Sysinfo = switch (native_abi) {
2985
3164
  .gnux32, .muslx32 => extern struct {
2986
3165
  /// Seconds since boot
@@ -3330,6 +3509,294 @@ pub const E = switch (native_arch) {
3330
3509
  HWPOISON = 135,
3331
3510
  _,
3332
3511
  },
3512
+ .alpha => enum(u16) {
3513
+ /// No error occurred.
3514
+ SUCCESS = 0,
3515
+
3516
+ /// Operation not permitted
3517
+ PERM = 1,
3518
+ /// No such file or directory
3519
+ NOENT = 2,
3520
+ /// No such process
3521
+ SRCH = 3,
3522
+ /// Interrupted system call
3523
+ INTR = 4,
3524
+ /// I/O error
3525
+ IO = 5,
3526
+ /// No such device or address
3527
+ NXIO = 6,
3528
+ /// Argument list too long
3529
+ @"2BIG" = 7,
3530
+ /// Exec format error
3531
+ NOEXEC = 8,
3532
+ /// Bad file number
3533
+ BADF = 9,
3534
+ /// No child processes
3535
+ CHILD = 10,
3536
+ /// Out of memory
3537
+ NOMEM = 12,
3538
+ /// Permission denied
3539
+ ACCES = 13,
3540
+ /// Bad address
3541
+ FAULT = 14,
3542
+ /// Block device required
3543
+ NOTBLK = 15,
3544
+ /// Device or resource busy
3545
+ BUSY = 16,
3546
+ /// File exists
3547
+ EXIST = 17,
3548
+ /// Cross-device link
3549
+ XDEV = 18,
3550
+ /// No such device
3551
+ NODEV = 19,
3552
+ /// Not a directory
3553
+ NOTDIR = 20,
3554
+ /// Is a directory
3555
+ ISDIR = 21,
3556
+ /// Invalid argument
3557
+ INVAL = 22,
3558
+ /// File table overflow
3559
+ NFILE = 23,
3560
+ /// Too many open files
3561
+ MFILE = 24,
3562
+ /// Not a typewriter
3563
+ NOTTY = 25,
3564
+ /// Text file busy
3565
+ TXTBSY = 26,
3566
+ /// File too large
3567
+ FBIG = 27,
3568
+ /// No space left on device
3569
+ NOSPC = 28,
3570
+ /// Illegal seek
3571
+ SPIPE = 29,
3572
+ /// Read-only file system
3573
+ ROFS = 30,
3574
+ /// Too many links
3575
+ MLINK = 31,
3576
+ /// Broken pipe
3577
+ PIPE = 32,
3578
+ /// Math argument out of domain of func
3579
+ DOM = 33,
3580
+ /// Math result not representable
3581
+ RANGE = 34,
3582
+
3583
+ /// Resource deadlock would occur
3584
+ DEADLK = 11,
3585
+
3586
+ /// Try again.
3587
+ /// Also used for WOULDBLOCK.
3588
+ AGAIN = 35,
3589
+ /// Operation now in progress
3590
+ INPROGRESS = 36,
3591
+ /// Operation already in progress
3592
+ ALREADY = 37,
3593
+ /// Socket operation on non-socket
3594
+ NOTSOCK = 38,
3595
+ /// Destination address required
3596
+ DESTADDRREQ = 39,
3597
+ /// Message too long
3598
+ MSGSIZE = 40,
3599
+ /// Protocol wrong type for socket
3600
+ PROTOTYPE = 41,
3601
+ /// Protocol not available
3602
+ NOPROTOOPT = 42,
3603
+ /// Protocol not supported
3604
+ PROTONOSUPPORT = 43,
3605
+ /// Socket type not supported
3606
+ SOCKTNOSUPPORT = 44,
3607
+ /// Operation not supported on transport endpoint
3608
+ OPNOTSUPP = 45,
3609
+ /// Protocol family not supported
3610
+ PFNOSUPPORT = 46,
3611
+ /// Address family not supported by protocol
3612
+ AFNOSUPPORT = 47,
3613
+ /// Address already in use
3614
+ ADDRINUSE = 48,
3615
+ /// Cannot assign requested address
3616
+ ADDRNOTAVAIL = 49,
3617
+ /// Network is down
3618
+ NETDOWN = 50,
3619
+ /// Network is unreachable
3620
+ NETUNREACH = 51,
3621
+ /// Network dropped connection because of reset
3622
+ NETRESET = 52,
3623
+ /// Software caused connection abort
3624
+ CONNABORTED = 53,
3625
+ /// Connection reset by peer
3626
+ CONNRESET = 54,
3627
+ /// No buffer space available
3628
+ NOBUFS = 55,
3629
+ /// Transport endpoint is already connected
3630
+ ISCONN = 56,
3631
+ /// Transport endpoint is not connected
3632
+ NOTCONN = 57,
3633
+ /// Cannot send after transport endpoint shutdown
3634
+ SHUTDOWN = 58,
3635
+ /// Too many references: cannot splice
3636
+ TOOMANYREFS = 59,
3637
+ /// Connection timed out
3638
+ TIMEDOUT = 60,
3639
+ /// Connection refused
3640
+ CONNREFUSED = 61,
3641
+ /// Too many symbolic links encountered
3642
+ LOOP = 62,
3643
+ /// File name too long
3644
+ NAMETOOLONG = 63,
3645
+ /// Host is down
3646
+ HOSTDOWN = 64,
3647
+ /// No route to host
3648
+ HOSTUNREACH = 65,
3649
+ /// Directory not empty
3650
+ NOTEMPTY = 66,
3651
+
3652
+ /// Too many users
3653
+ USERS = 68,
3654
+ /// Quota exceeded
3655
+ DQUOT = 69,
3656
+ /// Stale file handle
3657
+ STALE = 70,
3658
+ /// Object is remote
3659
+ REMOTE = 71,
3660
+
3661
+ /// No record locks available
3662
+ NOLCK = 77,
3663
+ /// Function not implemented
3664
+ NOSYS = 78,
3665
+
3666
+ /// No message of desired type
3667
+ NOMSG = 80,
3668
+ /// Identifier removed
3669
+ IDRM = 81,
3670
+ /// Out of streams resources
3671
+ NOSR = 82,
3672
+ /// Timer expired
3673
+ TIME = 83,
3674
+ /// Not a data message
3675
+ /// Also used for FSBADCRC.
3676
+ BADMSG = 84,
3677
+ /// Protocol error
3678
+ PROTO = 85,
3679
+ /// No data available
3680
+ NODATA = 86,
3681
+ /// Device not a stream
3682
+ NOSTR = 87,
3683
+
3684
+ /// Package not installed
3685
+ NOPKG = 92,
3686
+
3687
+ /// Illegal byte sequence
3688
+ ILSEQ = 116,
3689
+
3690
+ // The following are designated "random noise" by the kernel sources.
3691
+ /// Channel number out of range
3692
+ CHRNG = 88,
3693
+ /// Level 2 not synchronized
3694
+ L2NSYNC = 89,
3695
+ /// Level 3 halted
3696
+ L3HLT = 90,
3697
+ /// Level 3 reset
3698
+ L3RST = 91,
3699
+
3700
+ /// Link number out of range
3701
+ LNRNG = 93,
3702
+ /// Protocol driver not attached
3703
+ UNATCH = 94,
3704
+ /// No CSI structure available
3705
+ NOCSI = 95,
3706
+ /// Level 2 halted
3707
+ L2HLT = 96,
3708
+ /// Invalid exchange
3709
+ BADE = 97,
3710
+ /// Invalid request descriptor
3711
+ BADR = 98,
3712
+ /// Exchange full
3713
+ XFULL = 99,
3714
+ /// No anode
3715
+ NOANO = 100,
3716
+ /// Invalid request code
3717
+ BADRQC = 101,
3718
+ /// Invalid slot
3719
+ BADSLT = 102,
3720
+
3721
+ /// Bad font file format
3722
+ BFONT = 104,
3723
+ /// Machine is not on the network
3724
+ NONET = 105,
3725
+ /// Link has been severed
3726
+ NOLINK = 106,
3727
+ /// Advertise error
3728
+ ADV = 107,
3729
+ /// Srmount error
3730
+ SRMNT = 108,
3731
+ /// Communication error on send
3732
+ COMM = 109,
3733
+ /// Multihop attempted
3734
+ MULTIHOP = 110,
3735
+ /// RFS specific error
3736
+ DOTDOT = 111,
3737
+ /// Value too large for defined data type
3738
+ OVERFLOW = 112,
3739
+ /// Name not unique on network
3740
+ NOTUNIQ = 113,
3741
+ /// File descriptor in bad state
3742
+ BADFD = 114,
3743
+ /// Remote address changed
3744
+ REMCHG = 115,
3745
+
3746
+ /// Structure needs cleaning
3747
+ /// Also used for FSCORRUPTED.
3748
+ UCLEAN = 117,
3749
+ /// Not a XENIX named type file
3750
+ NOTNAM = 118,
3751
+ /// No XENIX semaphores available
3752
+ NAVAIL = 119,
3753
+ /// Is a named type file
3754
+ ISNAM = 120,
3755
+ /// Remote I/O error
3756
+ REMOTEIO = 121,
3757
+
3758
+ /// Can not access a needed shared library
3759
+ LIBACC = 122,
3760
+ /// Accessing a corrupted shared library
3761
+ LIBBAD = 123,
3762
+ /// .lib section in a.out corrupted
3763
+ LIBSCN = 124,
3764
+ /// Attempting to link in too many shared libraries
3765
+ LIBMAX = 125,
3766
+ /// Cannot exec a shared library directly
3767
+ LIBEXEC = 126,
3768
+ /// Interrupted system call should be restarted
3769
+ RESTART = 127,
3770
+ /// Streams pipe error
3771
+ STRPIPE = 128,
3772
+
3773
+ /// No medium found
3774
+ NOMEDIUM = 129,
3775
+ /// Wrong medium type
3776
+ MEDIUMTYPE = 130,
3777
+ /// Operation Cancelled
3778
+ CANCELED = 131,
3779
+ /// Required key not available
3780
+ NOKEY = 132,
3781
+ /// Key has expired
3782
+ KEYEXPIRED = 133,
3783
+ /// Key has been revoked
3784
+ KEYREVOKED = 134,
3785
+ /// Key was rejected by service
3786
+ KEYREJECTED = 135,
3787
+
3788
+ // For robust mutexes
3789
+ /// Owner died
3790
+ OWNERDEAD = 136,
3791
+ /// State not recoverable
3792
+ NOTRECOVERABLE = 137,
3793
+
3794
+ /// Operation not possible due to RF-kill
3795
+ RFKILL = 138,
3796
+ /// Memory page has hardware error
3797
+ HWPOISON = 139,
3798
+ _,
3799
+ },
3333
3800
  else => enum(u16) {
3334
3801
  /// No error occurred.
3335
3802
  /// Same code used for `NSROK`.
@@ -3901,6 +4368,14 @@ pub const SA = if (is_mips) struct {
3901
4368
  pub const RESETHAND = 0x80000000;
3902
4369
  pub const ONSTACK = 0x08000000;
3903
4370
  pub const NODEFER = 0x40000000;
4371
+ } else if (native_arch == .alpha) struct {
4372
+ pub const ONSTACK = 0x00000001;
4373
+ pub const RESTART = 0x00000002;
4374
+ pub const NOCLDSTOP = 0x00000004;
4375
+ pub const NODEFER = 0x00000008;
4376
+ pub const RESETHAND = 0x00000010;
4377
+ pub const NOCLDWAIT = 0x00000020;
4378
+ pub const SIGINFO = 0x00000040;
3904
4379
  } else struct {
3905
4380
  pub const NOCLDSTOP = 1;
3906
4381
  pub const NOCLDWAIT = 2;
@@ -4003,6 +4478,95 @@ pub const SIG = if (is_mips) enum(u32) {
4003
4478
  USR1 = 30,
4004
4479
  USR2 = 31,
4005
4480
  _,
4481
+ } else if (native_arch == .alpha) enum(u32) {
4482
+ pub const BLOCK = 1;
4483
+ pub const UNBLOCK = 2;
4484
+ pub const SETMASK = 3;
4485
+
4486
+ pub const ERR: ?Sigaction.handler_fn = @ptrFromInt(maxInt(usize));
4487
+ pub const DFL: ?Sigaction.handler_fn = @ptrFromInt(0);
4488
+ pub const IGN: ?Sigaction.handler_fn = @ptrFromInt(1);
4489
+
4490
+ pub const POLL: SIG = .IO;
4491
+ pub const PWR: SIG = .INFO;
4492
+ pub const IOT: SIG = .ABRT;
4493
+
4494
+ HUP = 1,
4495
+ INT = 2,
4496
+ QUIT = 3,
4497
+ ILL = 4,
4498
+ TRAP = 5,
4499
+ ABRT = 6,
4500
+ EMT = 7,
4501
+ FPE = 8,
4502
+ KILL = 9,
4503
+ BUS = 10,
4504
+ SEGV = 11,
4505
+ SYS = 12,
4506
+ PIPE = 13,
4507
+ ALRM = 14,
4508
+ TERM = 15,
4509
+ URG = 16,
4510
+ STOP = 17,
4511
+ TSTP = 18,
4512
+ CONT = 19,
4513
+ CHLD = 20,
4514
+ TTIN = 21,
4515
+ TTOU = 22,
4516
+ IO = 23,
4517
+ XCPU = 24,
4518
+ XFSZ = 25,
4519
+ VTALRM = 26,
4520
+ PROF = 27,
4521
+ WINCH = 28,
4522
+ INFO = 29,
4523
+ USR1 = 30,
4524
+ USR2 = 31,
4525
+ _,
4526
+ } else if (is_hppa) enum(u32) {
4527
+ pub const BLOCK = 0;
4528
+ pub const UNBLOCK = 1;
4529
+ pub const SETMASK = 2;
4530
+
4531
+ pub const ERR: ?Sigaction.handler_fn = @ptrFromInt(maxInt(usize));
4532
+ pub const DFL: ?Sigaction.handler_fn = @ptrFromInt(0);
4533
+ pub const IGN: ?Sigaction.handler_fn = @ptrFromInt(1);
4534
+
4535
+ pub const POLL: SIG = .IO;
4536
+ pub const IOT: SIG = .ABRT;
4537
+
4538
+ HUP = 1,
4539
+ INT = 2,
4540
+ QUIT = 3,
4541
+ ILL = 4,
4542
+ TRAP = 5,
4543
+ ABRT = 6,
4544
+ STKFLT = 7,
4545
+ FPE = 8,
4546
+ KILL = 9,
4547
+ BUS = 10,
4548
+ SEGV = 11,
4549
+ XCPU = 12,
4550
+ PIPE = 13,
4551
+ ALRM = 14,
4552
+ TERM = 15,
4553
+ USR1 = 16,
4554
+ USR2 = 17,
4555
+ CHLD = 18,
4556
+ PWR = 19,
4557
+ VTALRM = 20,
4558
+ PROF = 21,
4559
+ IO = 22,
4560
+ WINCH = 23,
4561
+ STOP = 24,
4562
+ TSTP = 25,
4563
+ CONT = 26,
4564
+ TTIN = 27,
4565
+ TTOU = 28,
4566
+ URG = 29,
4567
+ XFSZ = 30,
4568
+ SYS = 31,
4569
+ _,
4006
4570
  } else enum(u32) {
4007
4571
  pub const BLOCK = 0;
4008
4572
  pub const UNBLOCK = 1;
@@ -4079,8 +4643,20 @@ pub const SOCK = struct {
4079
4643
  pub const SEQPACKET = 5;
4080
4644
  pub const DCCP = 6;
4081
4645
  pub const PACKET = 10;
4082
- pub const CLOEXEC = if (is_sparc) 0o20000000 else 0o2000000;
4083
- pub const NONBLOCK = if (is_mips) 0o200 else if (is_sparc) 0o40000 else 0o4000;
4646
+ pub const CLOEXEC = if (is_sparc)
4647
+ 0o20000000
4648
+ else if (native_arch == .alpha)
4649
+ 0o10000000
4650
+ else
4651
+ 0o2000000;
4652
+ pub const NONBLOCK = if (is_mips)
4653
+ 0o200
4654
+ else if (is_sparc)
4655
+ 0o40000
4656
+ else if (is_hppa or native_arch == .alpha)
4657
+ 0x40000000
4658
+ else
4659
+ 0o4000;
4084
4660
  };
4085
4661
 
4086
4662
  pub const TCP = struct {
@@ -4494,6 +5070,77 @@ pub const SO = if (is_mips) struct {
4494
5070
  pub const RCVTIMEO_NEW = 68;
4495
5071
  pub const SNDTIMEO_NEW = 69;
4496
5072
  pub const DETACH_REUSEPORT_BPF = 71;
5073
+ } else if (native_arch == .alpha) struct {
5074
+ pub const DEBUG = 1;
5075
+ pub const REUSEADDR = 0x0004;
5076
+ pub const KEEPALIVE = 0x0008;
5077
+ pub const DONTROUTE = 0x0010;
5078
+ pub const BROADCAST = 0x0020;
5079
+ pub const LINGER = 0x0080;
5080
+ pub const OOBINLINE = 0x0100;
5081
+ pub const REUSEPORT = 0x0200;
5082
+
5083
+ pub const SNDBUF = 0x1001;
5084
+ pub const RCVBUF = 0x1002;
5085
+ pub const SNDLOWAT = 0x1011;
5086
+ pub const RCVLOWAT = 0x1010;
5087
+ pub const RCVTIMEO = 0x1012;
5088
+ pub const SNDTIMEO = 0x1013;
5089
+ pub const ERROR = 0x1007;
5090
+ pub const TYPE = 0x1008;
5091
+ pub const ACCEPTCONN = 0x1014;
5092
+ pub const PROTOCOL = 0x1028;
5093
+ pub const DOMAIN = 0x1029;
5094
+
5095
+ pub const NO_CHECK = 11;
5096
+ pub const PRIORITY = 12;
5097
+ pub const BSDCOMPAT = 14;
5098
+ pub const PASSCRED = 17;
5099
+ pub const PEERCRED = 18;
5100
+ pub const PEERSEC = 30;
5101
+ pub const SNDBUFFORCE = 0x100a;
5102
+ pub const RCVBUFFORCE = 0x100b;
5103
+ pub const SECURITY_AUTHENTICATION = 19;
5104
+ pub const SECURITY_ENCRYPTION_TRANSPORT = 20;
5105
+ pub const SECURITY_ENCRYPTION_NETWORK = 21;
5106
+ pub const BINDTODEVICE = 25;
5107
+ pub const ATTACH_FILTER = 26;
5108
+ pub const DETACH_FILTER = 27;
5109
+ pub const GET_FILTER = ATTACH_FILTER;
5110
+ pub const PEERNAME = 28;
5111
+ pub const TIMESTAMP_OLD = 29;
5112
+ pub const PASSSEC = 34;
5113
+ pub const TIMESTAMPNS_OLD = 35;
5114
+ pub const MARK = 36;
5115
+ pub const TIMESTAMPING_OLD = 37;
5116
+ pub const RXQ_OVFL = 40;
5117
+ pub const WIFI_STATUS = 41;
5118
+ pub const PEEK_OFF = 42;
5119
+ pub const NOFCS = 43;
5120
+ pub const LOCK_FILTER = 44;
5121
+ pub const SELECT_ERR_QUEUE = 45;
5122
+ pub const BUSY_POLL = 46;
5123
+ pub const MAX_PACING_RATE = 47;
5124
+ pub const BPF_EXTENSIONS = 48;
5125
+ pub const INCOMING_CPU = 49;
5126
+ pub const ATTACH_BPF = 50;
5127
+ pub const DETACH_BPF = DETACH_FILTER;
5128
+ pub const ATTACH_REUSEPORT_CBPF = 51;
5129
+ pub const ATTACH_REUSEPORT_EBPF = 52;
5130
+ pub const CNX_ADVICE = 53;
5131
+ pub const MEMINFO = 55;
5132
+ pub const INCOMING_NAPI_ID = 56;
5133
+ pub const COOKIE = 57;
5134
+ pub const PEERGROUPS = 59;
5135
+ pub const ZEROCOPY = 60;
5136
+ pub const TXTIME = 61;
5137
+ pub const BINDTOIFINDEX = 62;
5138
+ pub const TIMESTAMP_NEW = 63;
5139
+ pub const TIMESTAMPNS_NEW = 64;
5140
+ pub const TIMESTAMPING_NEW = 65;
5141
+ pub const RCVTIMEO_NEW = 66;
5142
+ pub const SNDTIMEO_NEW = 67;
5143
+ pub const DETACH_REUSEPORT_BPF = 68;
4497
5144
  } else struct {
4498
5145
  pub const DEBUG = 1;
4499
5146
  pub const REUSEADDR = 2;
@@ -4579,7 +5226,10 @@ pub const SCM = struct {
4579
5226
  };
4580
5227
 
4581
5228
  pub const SOL = struct {
4582
- pub const SOCKET = if (is_mips or is_sparc) 65535 else 1;
5229
+ pub const SOCKET = if (is_mips or is_sparc or native_arch == .alpha)
5230
+ 0xffff
5231
+ else
5232
+ 1;
4583
5233
 
4584
5234
  pub const IP = 0;
4585
5235
  pub const IPV6 = 41;
@@ -5166,7 +5816,7 @@ pub const T = if (is_mips) struct {
5166
5816
  pub const IOCSERSETMULTI = 0x5490;
5167
5817
  pub const IOCMIWAIT = 0x5491;
5168
5818
  pub const IOCGICOUNT = 0x5492;
5169
- } else if (is_ppc) struct {
5819
+ } else if (is_ppc or native_arch == .alpha) struct {
5170
5820
  pub const FIOCLEX = IOCTL.IO('f', 1);
5171
5821
  pub const FIONCLEX = IOCTL.IO('f', 2);
5172
5822
  pub const FIOASYNC = IOCTL.IOW('f', 125, c_int);
@@ -5950,6 +6600,15 @@ pub const TFD = switch (native_arch) {
5950
6600
 
5951
6601
  pub const TIMER = TFD_TIMER;
5952
6602
  },
6603
+ .alpha => packed struct(u32) {
6604
+ _0: u2 = 0,
6605
+ NONBLOCK: bool = false,
6606
+ _3: u18 = 0,
6607
+ CLOEXEC: bool = false,
6608
+ _: u10 = 0,
6609
+
6610
+ pub const TIMER = TFD_TIMER;
6611
+ },
5953
6612
  else => packed struct(u32) {
5954
6613
  _0: u11 = 0,
5955
6614
  NONBLOCK: bool = false,
@@ -5979,6 +6638,17 @@ pub const k_sigaction = switch (native_arch) {
5979
6638
  flags: c_ulong,
5980
6639
  mask: sigset_t,
5981
6640
  },
6641
+ .alpha => extern struct {
6642
+ handler: k_sigaction_funcs.handler,
6643
+ mask: sigset_t,
6644
+ flags: c_int,
6645
+ },
6646
+ .xtensa, .xtensaeb => extern struct {
6647
+ handler: k_sigaction_funcs.handler,
6648
+ mask: sigset_t,
6649
+ flags: c_ulong,
6650
+ restorer: k_sigaction_funcs.restorer,
6651
+ },
5982
6652
  else => extern struct {
5983
6653
  handler: k_sigaction_funcs.handler,
5984
6654
  flags: c_ulong,
@@ -6003,6 +6673,7 @@ pub const Sigaction = struct {
6003
6673
  mask: sigset_t,
6004
6674
  flags: switch (native_arch) {
6005
6675
  .mips, .mipsel, .mips64, .mips64el => c_uint,
6676
+ .alpha => c_int,
6006
6677
  else => c_ulong,
6007
6678
  },
6008
6679
  };
@@ -6119,7 +6790,7 @@ pub const sockaddr = extern struct {
6119
6790
  flags: u8,
6120
6791
 
6121
6792
  /// The total size of this structure should be exactly the same as that of struct sockaddr.
6122
- zero: [3]u8 = [_]u8{0} ** 3,
6793
+ zero: [3]u8 = @splat(0),
6123
6794
  comptime {
6124
6795
  std.debug.assert(@sizeOf(vm) == @sizeOf(sockaddr));
6125
6796
  }
@@ -6281,7 +6952,7 @@ pub const dl_phdr_info = extern struct {
6281
6952
 
6282
6953
  pub const CPU_SETSIZE = 128;
6283
6954
  pub const cpu_set_t = [CPU_SETSIZE / @sizeOf(usize)]usize;
6284
- pub const cpu_count_t = std.meta.Int(.unsigned, std.math.log2(CPU_SETSIZE * 8));
6955
+ pub const cpu_count_t = @Int(.unsigned, std.math.log2(CPU_SETSIZE * 8));
6285
6956
 
6286
6957
  pub fn CPU_COUNT(set: cpu_set_t) cpu_count_t {
6287
6958
  var sum: cpu_count_t = 0;
@@ -7465,7 +8136,7 @@ pub const rusage = extern struct {
7465
8136
  nsignals: isize,
7466
8137
  nvcsw: isize,
7467
8138
  nivcsw: isize,
7468
- __reserved: [16]isize = [1]isize{0} ** 16,
8139
+ __reserved: [16]isize = @splat(0),
7469
8140
 
7470
8141
  pub const SELF = 0;
7471
8142
  pub const CHILDREN = -1;
@@ -7473,7 +8144,14 @@ pub const rusage = extern struct {
7473
8144
  };
7474
8145
 
7475
8146
  pub const NCC = if (is_ppc) 10 else 8;
7476
- pub const NCCS = if (is_mips) 32 else if (is_ppc) 19 else if (is_sparc) 17 else 32;
8147
+ pub const NCCS = if (is_mips)
8148
+ 32
8149
+ else if (is_ppc or native_arch == .alpha)
8150
+ 19
8151
+ else if (is_sparc)
8152
+ 17
8153
+ else
8154
+ 32;
7477
8155
 
7478
8156
  pub const speed_t = if (is_ppc) enum(c_uint) {
7479
8157
  B0 = 0x0000000,
@@ -7587,7 +8265,7 @@ pub const speed_t = if (is_ppc) enum(c_uint) {
7587
8265
 
7588
8266
  pub const tcflag_t = if (native_arch == .sparc) c_ulong else c_uint;
7589
8267
 
7590
- pub const tc_iflag_t = if (is_ppc) packed struct(tcflag_t) {
8268
+ pub const tc_iflag_t = if (is_ppc or native_arch == .alpha) packed struct(tcflag_t) {
7591
8269
  IGNBRK: bool = false,
7592
8270
  BRKINT: bool = false,
7593
8271
  IGNPAR: bool = false,
@@ -7623,7 +8301,7 @@ pub const tc_iflag_t = if (is_ppc) packed struct(tcflag_t) {
7623
8301
  _15: u17 = 0,
7624
8302
  };
7625
8303
 
7626
- pub const NLDLY = if (is_ppc) enum(u2) {
8304
+ pub const NLDLY = if (is_ppc or native_arch == .alpha) enum(u2) {
7627
8305
  NL0 = 0,
7628
8306
  NL1 = 1,
7629
8307
  NL2 = 2,
@@ -7664,7 +8342,7 @@ pub const FFDLY = enum(u1) {
7664
8342
  FF1 = 1,
7665
8343
  };
7666
8344
 
7667
- pub const tc_oflag_t = if (is_ppc) packed struct(tcflag_t) {
8345
+ pub const tc_oflag_t = if (is_ppc or native_arch == .alpha) packed struct(tcflag_t) {
7668
8346
  OPOST: bool = false,
7669
8347
  ONLCR: bool = false,
7670
8348
  OLCUC: bool = false,
@@ -7723,7 +8401,7 @@ pub const CSIZE = enum(u2) {
7723
8401
  CS8 = 3,
7724
8402
  };
7725
8403
 
7726
- pub const tc_cflag_t = if (is_ppc) packed struct(tcflag_t) {
8404
+ pub const tc_cflag_t = if (is_ppc or native_arch == .alpha) packed struct(tcflag_t) {
7727
8405
  _0: u8 = 0,
7728
8406
  CSIZE: CSIZE = .CS5,
7729
8407
  CSTOPB: bool = false,
@@ -7770,7 +8448,7 @@ pub const tc_lflag_t = if (is_mips) packed struct(tcflag_t) {
7770
8448
  TOSTOP: bool = false,
7771
8449
  EXTPROC: bool = false,
7772
8450
  _17: u15 = 0,
7773
- } else if (is_ppc) packed struct(tcflag_t) {
8451
+ } else if (is_ppc or native_arch == .alpha) packed struct(tcflag_t) {
7774
8452
  ECHOKE: bool = false,
7775
8453
  ECHOE: bool = false,
7776
8454
  ECHOK: bool = false,
@@ -7871,6 +8549,24 @@ pub const V = if (is_mips) enum(u32) {
7871
8549
  STOP = 14,
7872
8550
  LNEXT = 15,
7873
8551
  DISCARD = 16,
8552
+ } else if (arch_bits == .alpha) enum(u32) {
8553
+ EOF = 0,
8554
+ EOL = 1,
8555
+ EOL2 = 2,
8556
+ ERASE = 3,
8557
+ WERASE = 4,
8558
+ KILL = 5,
8559
+ REPRINT = 6,
8560
+ SWTC = 7,
8561
+ INTR = 8,
8562
+ QUIT = 9,
8563
+ SUSP = 10,
8564
+ START = 12,
8565
+ STOP = 13,
8566
+ LNEXT = 14,
8567
+ DISCARD = 15,
8568
+ MIN = 16,
8569
+ TIME = 17,
7874
8570
  } else enum(u32) {
7875
8571
  INTR = 0,
7876
8572
  QUIT = 1,
@@ -7901,7 +8597,7 @@ pub const sgttyb = if (is_mips or is_ppc or is_sparc) extern struct {
7901
8597
  flags: if (is_mips) c_int else c_short,
7902
8598
  } else void;
7903
8599
 
7904
- pub const tchars = if (is_mips or is_ppc or is_sparc) extern struct {
8600
+ pub const tchars = if (is_mips or is_ppc or is_sparc or native_arch == .alpha) extern struct {
7905
8601
  intrc: c_char,
7906
8602
  quitc: c_char,
7907
8603
  startc: c_char,
@@ -7910,7 +8606,7 @@ pub const tchars = if (is_mips or is_ppc or is_sparc) extern struct {
7910
8606
  brkc: c_char,
7911
8607
  } else void;
7912
8608
 
7913
- pub const ltchars = if (is_mips or is_ppc or is_sparc) extern struct {
8609
+ pub const ltchars = if (is_mips or is_ppc or is_sparc or native_arch == .alpha) extern struct {
7914
8610
  suspc: c_char,
7915
8611
  dsuspc: c_char,
7916
8612
  rprntc: c_char,
@@ -7935,7 +8631,7 @@ pub const termios = if (is_mips or is_sparc) extern struct {
7935
8631
  lflag: tc_lflag_t,
7936
8632
  line: cc_t,
7937
8633
  cc: [NCCS]cc_t,
7938
- } else if (is_ppc) extern struct {
8634
+ } else if (is_ppc or native_arch == .alpha) extern struct {
7939
8635
  iflag: tc_iflag_t,
7940
8636
  oflag: tc_oflag_t,
7941
8637
  cflag: tc_cflag_t,
@@ -7955,7 +8651,7 @@ pub const termios = if (is_mips or is_sparc) extern struct {
7955
8651
  ospeed: speed_t,
7956
8652
  };
7957
8653
 
7958
- pub const termios2 = if (is_mips) extern struct {
8654
+ pub const termios2 = if (is_mips or native_arch == .alpha) extern struct {
7959
8655
  iflag: tc_iflag_t,
7960
8656
  oflag: tc_oflag_t,
7961
8657
  cflag: tc_cflag_t,
@@ -8534,6 +9230,49 @@ pub const rlimit_resource = if (native_arch.isMIPS()) enum(c_int) {
8534
9230
  /// call before being forcibly descheduled.
8535
9231
  RTTIME = 15,
8536
9232
 
9233
+ _,
9234
+ } else if (native_arch == .alpha) enum(c_int) {
9235
+ /// Per-process CPU limit, in seconds.
9236
+ CPU = 0,
9237
+ /// Largest file that can be created, in bytes.
9238
+ FSIZE = 1,
9239
+ /// Maximum size of data segment, in bytes.
9240
+ DATA = 2,
9241
+ /// Maximum size of stack segment, in bytes.
9242
+ STACK = 3,
9243
+ /// Largest core file that can be created, in bytes.
9244
+ CORE = 4,
9245
+ /// Largest resident set size, in bytes.
9246
+ /// This affects swapping; processes that are exceeding their
9247
+ /// resident set size will be more likely to have physical memory
9248
+ /// taken from them.
9249
+ RSS = 5,
9250
+ /// Number of open files.
9251
+ NOFILE = 6,
9252
+ /// Address space limit.
9253
+ AS = 7,
9254
+ /// Number of processes.
9255
+ NPROC = 8,
9256
+ /// Locked-in-memory address space.
9257
+ MEMLOCK = 9,
9258
+ /// Maximum number of file locks.
9259
+ LOCKS = 10,
9260
+ /// Maximum number of pending signals.
9261
+ SIGPENDING = 11,
9262
+ /// Maximum bytes in POSIX message queues.
9263
+ MSGQUEUE = 12,
9264
+ /// Maximum nice priority allowed to raise to.
9265
+ /// Nice levels 19 .. -20 correspond to 0 .. 39
9266
+ /// values of this resource limit.
9267
+ NICE = 13,
9268
+ /// Maximum realtime priority allowed for non-privileged
9269
+ /// processes.
9270
+ RTPRIO = 14,
9271
+ /// Maximum CPU time in µs that a process scheduled under a real-time
9272
+ /// scheduling policy may consume without making a blocking system
9273
+ /// call before being forcibly descheduled.
9274
+ RTTIME = 15,
9275
+
8537
9276
  _,
8538
9277
  } else enum(c_int) {
8539
9278
  /// Per-process CPU limit, in seconds.
@@ -8584,7 +9323,10 @@ pub const rlim_t = u64;
8584
9323
 
8585
9324
  pub const RLIM = struct {
8586
9325
  /// No limit
8587
- pub const INFINITY = ~@as(rlim_t, 0);
9326
+ pub const INFINITY: rlim_t = if (native_arch == .alpha)
9327
+ ~@as(u63, 0)
9328
+ else
9329
+ ~@as(rlim_t, 0);
8588
9330
 
8589
9331
  pub const SAVED_MAX = INFINITY;
8590
9332
  pub const SAVED_CUR = INFINITY;