@zigc/lib 0.17.0-dev.44 → 0.17.0-dev.607

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 (1270) 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/{std/Build → compiler/Maker}/Fuzz.zig +177 -89
  14. package/compiler/Maker/Graph.zig +85 -0
  15. package/compiler/Maker/PkgConfig.zig +114 -0
  16. package/compiler/Maker/ScannedConfig.zig +370 -0
  17. package/compiler/Maker/Step/CheckFile.zig +63 -0
  18. package/compiler/Maker/Step/Compile.zig +1390 -0
  19. package/compiler/Maker/Step/ConfigHeader.zig +610 -0
  20. package/compiler/Maker/Step/FindProgram.zig +120 -0
  21. package/compiler/Maker/Step/Fmt.zig +65 -0
  22. package/compiler/Maker/Step/InstallArtifact.zig +141 -0
  23. package/compiler/Maker/Step/InstallDir.zig +99 -0
  24. package/compiler/Maker/Step/InstallFile.zig +26 -0
  25. package/compiler/Maker/Step/ObjCopy.zig +173 -0
  26. package/compiler/Maker/Step/Options.zig +104 -0
  27. package/compiler/Maker/Step/Run.zig +2372 -0
  28. package/compiler/Maker/Step/TranslateC.zig +152 -0
  29. package/compiler/Maker/Step/UpdateSourceFiles.zig +89 -0
  30. package/compiler/Maker/Step/WriteFile.zig +294 -0
  31. package/compiler/Maker/Step.zig +863 -0
  32. package/{std/Build → compiler/Maker}/Watch/FsEvents.zig +33 -24
  33. package/{std/Build → compiler/Maker}/Watch.zig +89 -68
  34. package/{std/Build → compiler/Maker}/WebServer.zig +145 -118
  35. package/compiler/Maker.zig +2051 -0
  36. package/compiler/aro/aro/CodeGen.zig +7 -8
  37. package/compiler/aro/aro/Compilation.zig +17 -17
  38. package/compiler/aro/aro/Driver.zig +18 -16
  39. package/compiler/aro/aro/Parser.zig +20 -15
  40. package/compiler/aro/aro/Pragma.zig +3 -2
  41. package/compiler/aro/aro/Preprocessor.zig +11 -8
  42. package/compiler/aro/aro/pragmas/message.zig +3 -2
  43. package/compiler/aro/aro/text_literal.zig +3 -2
  44. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  45. package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
  46. package/compiler/configurer.zig +1402 -0
  47. package/compiler/reduce/Walk.zig +8 -13
  48. package/compiler/resinator/compile.zig +1 -1
  49. package/compiler/resinator/cvtres.zig +4 -4
  50. package/compiler/resinator/errors.zig +7 -7
  51. package/compiler/resinator/ico.zig +4 -4
  52. package/compiler/resinator/parse.zig +2 -2
  53. package/compiler/resinator/res.zig +1 -1
  54. package/compiler/std-docs.zig +17 -38
  55. package/compiler/test_runner.zig +25 -15
  56. package/compiler/translate-c/MacroTranslator.zig +1 -1
  57. package/compiler/translate-c/Translator.zig +2 -2
  58. package/compiler/translate-c/ast.zig +16 -23
  59. package/compiler/translate-c/main.zig +1 -1
  60. package/compiler_rt/addf3.zig +1 -1
  61. package/compiler_rt/arm.zig +3 -3
  62. package/compiler_rt/atomics.zig +1 -1
  63. package/compiler_rt/comparef.zig +3 -3
  64. package/compiler_rt/cos.zig +1 -3
  65. package/compiler_rt/count0bits.zig +1 -1
  66. package/compiler_rt/divdf3.zig +2 -2
  67. package/compiler_rt/divsf3.zig +1 -1
  68. package/compiler_rt/divtf3.zig +1 -1
  69. package/compiler_rt/divxf3.zig +1 -1
  70. package/compiler_rt/exp.zig +0 -2
  71. package/compiler_rt/exp2.zig +0 -2
  72. package/compiler_rt/extendf.zig +5 -5
  73. package/compiler_rt/fabs.zig +1 -3
  74. package/compiler_rt/float_from_int.zig +4 -5
  75. package/compiler_rt/fma.zig +0 -2
  76. package/compiler_rt/fmax.zig +1 -3
  77. package/compiler_rt/fmin.zig +1 -3
  78. package/compiler_rt/fmod.zig +2 -4
  79. package/compiler_rt/int_from_float.zig +1 -1
  80. package/compiler_rt/limb64.zig +3 -2
  81. package/compiler_rt/log.zig +0 -2
  82. package/compiler_rt/log10.zig +0 -2
  83. package/compiler_rt/log2.zig +0 -2
  84. package/compiler_rt/mulf3.zig +2 -2
  85. package/compiler_rt/rem_pio2l.zig +1 -1
  86. package/compiler_rt/round.zig +0 -2
  87. package/compiler_rt/sin.zig +1 -3
  88. package/compiler_rt/sincos.zig +1 -3
  89. package/compiler_rt/sqrt.zig +0 -2
  90. package/compiler_rt/ssp.zig +2 -2
  91. package/compiler_rt/tan.zig +1 -3
  92. package/compiler_rt/trunc.zig +0 -2
  93. package/compiler_rt/truncf.zig +3 -3
  94. package/compiler_rt/trunctfhf2.zig +3 -0
  95. package/compiler_rt.zig +5 -26
  96. package/docs/main.js +8 -8
  97. package/docs/wasm/Walk.zig +1 -3
  98. package/docs/wasm/html_render.zig +1 -2
  99. package/docs/wasm/markdown/Parser.zig +16 -20
  100. package/fuzzer.zig +5 -3
  101. package/include/__clang_spirv_builtins.h +12 -12
  102. package/include/__float_float.h +176 -0
  103. package/include/__float_header_macro.h +12 -0
  104. package/include/__float_infinity_nan.h +20 -0
  105. package/include/amo.h +131 -0
  106. package/include/amxavx512intrin.h +215 -1
  107. package/include/amxintrin.h +0 -2
  108. package/include/arm_acle.h +37 -27
  109. package/include/arm_neon.h +218 -82
  110. package/include/arm_sme.h +8 -8
  111. package/include/arm_sve.h +4162 -3782
  112. package/include/avx10_2_512bf16intrin.h +19 -12
  113. package/include/avx10_2_512convertintrin.h +1 -1
  114. package/include/avx10_2_512niintrin.h +31 -31
  115. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  116. package/include/avx10_2bf16intrin.h +54 -45
  117. package/include/avx10_2convertintrin.h +2 -2
  118. package/include/avx10_2copyintrin.h +1 -1
  119. package/include/avx10_2niintrin.h +14 -14
  120. package/include/avx10_2satcvtdsintrin.h +2 -2
  121. package/include/avx2intrin.h +275 -377
  122. package/include/avx512bf16intrin.h +25 -16
  123. package/include/avx512bitalgintrin.h +19 -30
  124. package/include/avx512bwintrin.h +386 -505
  125. package/include/avx512cdintrin.h +42 -55
  126. package/include/avx512dqintrin.h +132 -161
  127. package/include/avx512fintrin.h +1015 -1424
  128. package/include/avx512fp16intrin.h +112 -110
  129. package/include/avx512ifmaintrin.h +32 -34
  130. package/include/avx512ifmavlintrin.h +73 -46
  131. package/include/avx512vbmi2intrin.h +43 -32
  132. package/include/avx512vbmiintrin.h +19 -27
  133. package/include/avx512vbmivlintrin.h +35 -49
  134. package/include/avx512vlbf16intrin.h +32 -22
  135. package/include/avx512vlbitalgintrin.h +37 -53
  136. package/include/avx512vlbwintrin.h +470 -573
  137. package/include/avx512vlcdintrin.h +74 -102
  138. package/include/avx512vldqintrin.h +110 -127
  139. package/include/avx512vlfp16intrin.h +130 -111
  140. package/include/avx512vlintrin.h +945 -1299
  141. package/include/avx512vlvbmi2intrin.h +78 -63
  142. package/include/avx512vlvnniintrin.h +21 -18
  143. package/include/avx512vlvp2intersectintrin.h +2 -2
  144. package/include/avx512vnniintrin.h +10 -10
  145. package/include/avx512vp2intersectintrin.h +1 -2
  146. package/include/avx512vpopcntdqintrin.h +8 -10
  147. package/include/avx512vpopcntdqvlintrin.h +17 -15
  148. package/include/avxifmaintrin.h +16 -0
  149. package/include/avxintrin.h +165 -241
  150. package/include/avxvnniint16intrin.h +118 -99
  151. package/include/avxvnniint8intrin.h +56 -32
  152. package/include/avxvnniintrin.h +16 -8
  153. package/include/cpuid.h +101 -4
  154. package/include/emmintrin.h +168 -168
  155. package/include/f16cintrin.h +23 -9
  156. package/include/float.h +16 -155
  157. package/include/fma4intrin.h +98 -96
  158. package/include/fmaintrin.h +96 -66
  159. package/include/gfniintrin.h +21 -16
  160. package/include/hexagon_types.h +23 -20
  161. package/include/hvx_hexagon_protos.h +649 -860
  162. package/include/immintrin.h +0 -12
  163. package/include/intrin.h +4 -0
  164. package/include/lasxintrin.h +113 -0
  165. package/include/llvm_libc_wrappers/assert.h +3 -5
  166. package/include/llvm_libc_wrappers/ctype.h +3 -115
  167. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  168. package/include/llvm_libc_wrappers/stdio.h +10 -38
  169. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  170. package/include/llvm_libc_wrappers/string.h +2 -70
  171. package/include/llvm_libc_wrappers/time.h +4 -10
  172. package/include/mmintrin.h +188 -257
  173. package/include/module.modulemap +23 -4
  174. package/include/movrs_avx10_2_512intrin.h +2 -2
  175. package/include/movrs_avx10_2intrin.h +4 -4
  176. package/include/pmmintrin.h +12 -24
  177. package/include/ptrauth.h +16 -2
  178. package/include/riscv_mips.h +34 -0
  179. package/include/riscv_nds.h +89 -0
  180. package/include/sifive_vector.h +58 -2
  181. package/include/sm4evexintrin.h +2 -2
  182. package/include/smmintrin.h +77 -59
  183. package/include/spirvintrin.h +194 -0
  184. package/include/stddefer.h +19 -0
  185. package/include/tmmintrin.h +116 -147
  186. package/include/vaesintrin.h +1 -2
  187. package/include/xmmintrin.h +44 -70
  188. package/include/xopintrin.h +20 -10
  189. package/init/build.zig +1 -3
  190. package/libc/darwin/SDKSettings.json +1 -1
  191. package/libc/darwin/libSystem.tbd +88 -87
  192. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  193. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  194. package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
  195. package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
  196. package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
  197. package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
  198. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  199. package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
  200. package/libc/include/any-darwin-any/mach/host_info.h +3 -1
  201. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
  202. package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
  203. package/libc/include/any-darwin-any/spawn.h +3 -1
  204. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
  205. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  206. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  207. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  208. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  209. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  210. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  211. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  212. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  213. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  214. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  215. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  216. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  217. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  218. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  219. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  220. package/libc/include/any-linux-any/linux/elf.h +2 -0
  221. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  222. package/libc/include/any-linux-any/linux/fs.h +1 -0
  223. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  224. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  225. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  226. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  227. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  228. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  229. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  230. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  231. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  232. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  233. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  234. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  235. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  236. package/libc/include/any-linux-any/linux/magic.h +1 -0
  237. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  238. package/libc/include/any-linux-any/linux/mount.h +11 -2
  239. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  240. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  241. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  242. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  243. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  244. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  245. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  246. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  247. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  248. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  249. package/libc/include/any-linux-any/linux/pci.h +7 -0
  250. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  251. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  252. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  253. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  254. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  255. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  256. package/libc/include/any-linux-any/linux/shm.h +0 -1
  257. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  258. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  259. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  260. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  261. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  262. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  263. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  264. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  265. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  266. package/libc/include/any-linux-any/linux/version.h +3 -3
  267. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  268. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  269. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  270. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  271. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  272. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  273. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  274. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  275. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  276. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  277. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  278. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  279. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  280. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  281. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  282. package/libc/include/generic-openbsd/db.h +1 -7
  283. package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
  284. package/libc/include/generic-openbsd/fnmatch.h +6 -2
  285. package/libc/include/generic-openbsd/login_cap.h +3 -1
  286. package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
  287. package/libc/include/generic-openbsd/net/bpf.h +3 -1
  288. package/libc/include/generic-openbsd/net/hfsc.h +4 -4
  289. package/libc/include/generic-openbsd/net/if.h +5 -1
  290. package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
  291. package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
  292. package/libc/include/generic-openbsd/net/if_media.h +26 -1
  293. package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
  294. package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
  295. package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
  296. package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
  297. package/libc/include/generic-openbsd/net/if_types.h +2 -2
  298. package/libc/include/generic-openbsd/net/if_var.h +34 -12
  299. package/libc/include/generic-openbsd/net/netisr.h +1 -3
  300. package/libc/include/generic-openbsd/net/pfvar.h +154 -1
  301. package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
  302. package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
  303. package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
  304. package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
  305. package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
  306. package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
  307. package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
  308. package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
  309. package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
  310. package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
  311. package/libc/include/generic-openbsd/netinet/ip.h +3 -2
  312. package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
  313. package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
  314. package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
  315. package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
  316. package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
  317. package/libc/include/generic-openbsd/pthread.h +2 -2
  318. package/libc/include/generic-openbsd/signal.h +2 -2
  319. package/libc/include/generic-openbsd/sndio.h +6 -12
  320. package/libc/include/generic-openbsd/strings.h +5 -1
  321. package/libc/include/generic-openbsd/sys/device.h +4 -3
  322. package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
  323. package/libc/include/generic-openbsd/sys/dkio.h +3 -5
  324. package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
  325. package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
  326. package/libc/include/generic-openbsd/sys/mman.h +7 -2
  327. package/libc/include/generic-openbsd/sys/mutex.h +10 -7
  328. package/libc/include/generic-openbsd/sys/namei.h +8 -7
  329. package/libc/include/generic-openbsd/sys/param.h +1 -1
  330. package/libc/include/generic-openbsd/sys/pledge.h +1 -3
  331. package/libc/include/generic-openbsd/sys/protosw.h +8 -1
  332. package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
  333. package/libc/include/generic-openbsd/sys/sched.h +8 -1
  334. package/libc/include/generic-openbsd/sys/signal.h +4 -2
  335. package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
  336. package/libc/include/generic-openbsd/sys/sockio.h +11 -1
  337. package/libc/include/generic-openbsd/sys/syscall.h +5 -3
  338. package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
  339. package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
  340. package/libc/include/generic-openbsd/sys/types.h +6 -2
  341. package/libc/include/generic-openbsd/sys/videoio.h +143 -68
  342. package/libc/include/generic-openbsd/sys/xcall.h +2 -2
  343. package/libc/include/generic-openbsd/time.h +2 -2
  344. package/libc/include/generic-openbsd/unistd.h +2 -2
  345. package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
  346. package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
  347. package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
  348. package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
  349. package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
  350. package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
  351. package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
  352. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  353. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  354. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  355. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  356. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  357. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  358. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  359. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  360. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  361. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  362. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  363. package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
  364. package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
  365. package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
  366. package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
  367. package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
  368. package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
  369. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  370. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  371. package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
  372. package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
  373. package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
  374. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  375. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  376. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  377. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  378. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  379. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  380. package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
  381. package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
  382. package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
  383. package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
  384. package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
  385. package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
  386. package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
  387. package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
  388. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  389. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  390. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  391. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  392. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  393. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  394. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  395. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  396. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  397. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  398. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  399. package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
  400. package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
  401. package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
  402. package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
  403. package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
  404. package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
  405. package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
  406. package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
  407. package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
  408. package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
  409. package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
  410. package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
  411. package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
  412. package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
  413. package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
  414. package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
  415. package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
  416. package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
  417. package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
  418. package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
  419. package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
  420. package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
  421. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  422. package/libc/openbsd/abilists +0 -0
  423. package/libcxx/include/__algorithm/all_of.h +11 -5
  424. package/libcxx/include/__algorithm/comp.h +4 -0
  425. package/libcxx/include/__algorithm/copy.h +28 -147
  426. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  427. package/libcxx/include/__algorithm/copy_n.h +50 -16
  428. package/libcxx/include/__algorithm/count.h +2 -2
  429. package/libcxx/include/__algorithm/equal.h +43 -55
  430. package/libcxx/include/__algorithm/fill.h +26 -8
  431. package/libcxx/include/__algorithm/fill_n.h +32 -46
  432. package/libcxx/include/__algorithm/find.h +96 -39
  433. package/libcxx/include/__algorithm/find_end.h +105 -0
  434. package/libcxx/include/__algorithm/for_each.h +18 -24
  435. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  436. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  437. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  438. package/libcxx/include/__algorithm/generate.h +4 -2
  439. package/libcxx/include/__algorithm/generate_n.h +19 -6
  440. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  441. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  442. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  443. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  444. package/libcxx/include/__algorithm/make_heap.h +16 -4
  445. package/libcxx/include/__algorithm/mismatch.h +2 -2
  446. package/libcxx/include/__algorithm/move.h +8 -19
  447. package/libcxx/include/__algorithm/move_backward.h +9 -24
  448. package/libcxx/include/__algorithm/none_of.h +4 -4
  449. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  450. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  451. package/libcxx/include/__algorithm/pstl.h +9 -9
  452. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  453. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  454. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  455. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  456. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  457. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  458. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  459. package/libcxx/include/__algorithm/rotate.h +27 -44
  460. package/libcxx/include/__algorithm/search_n.h +49 -37
  461. package/libcxx/include/__algorithm/sift_down.h +19 -18
  462. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  463. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  464. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  465. package/libcxx/include/__assertion_handler +31 -4
  466. package/libcxx/include/__atomic/atomic.h +36 -60
  467. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  468. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  469. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  470. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  471. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  472. package/libcxx/include/__atomic/contention_t.h +27 -3
  473. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  474. package/libcxx/include/__bit/countl.h +1 -2
  475. package/libcxx/include/__bit/countr.h +1 -2
  476. package/libcxx/include/__bit/has_single_bit.h +1 -1
  477. package/libcxx/include/__bit/popcount.h +0 -1
  478. package/libcxx/include/__bit/rotate.h +15 -26
  479. package/libcxx/include/__bit_reference +207 -18
  480. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  481. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  482. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  483. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  484. package/libcxx/include/__charconv/traits.h +3 -24
  485. package/libcxx/include/__chrono/day.h +11 -0
  486. package/libcxx/include/__chrono/duration.h +58 -33
  487. package/libcxx/include/__chrono/file_clock.h +4 -2
  488. package/libcxx/include/__chrono/is_clock.h +72 -0
  489. package/libcxx/include/__chrono/leap_second.h +13 -0
  490. package/libcxx/include/__chrono/month.h +13 -0
  491. package/libcxx/include/__chrono/month_weekday.h +22 -0
  492. package/libcxx/include/__chrono/monthday.h +20 -0
  493. package/libcxx/include/__chrono/steady_clock.h +1 -1
  494. package/libcxx/include/__chrono/system_clock.h +3 -3
  495. package/libcxx/include/__chrono/time_point.h +37 -13
  496. package/libcxx/include/__chrono/weekday.h +25 -0
  497. package/libcxx/include/__chrono/year.h +11 -0
  498. package/libcxx/include/__chrono/year_month.h +13 -0
  499. package/libcxx/include/__chrono/year_month_day.h +23 -0
  500. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  501. package/libcxx/include/__chrono/zoned_time.h +16 -0
  502. package/libcxx/include/__compare/is_eq.h +6 -6
  503. package/libcxx/include/__compare/strong_order.h +12 -30
  504. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  505. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  506. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  507. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  508. package/libcxx/include/__config +63 -280
  509. package/libcxx/include/__configuration/abi.h +14 -24
  510. package/libcxx/include/__configuration/availability.h +65 -118
  511. package/libcxx/include/__configuration/compiler.h +6 -6
  512. package/libcxx/include/__configuration/experimental.h +38 -0
  513. package/libcxx/include/__configuration/hardening.h +215 -0
  514. package/libcxx/include/__configuration/language.h +3 -0
  515. package/libcxx/include/__configuration/platform.h +9 -16
  516. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  517. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  518. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  519. package/libcxx/include/__exception/exception.h +6 -4
  520. package/libcxx/include/__exception/exception_ptr.h +27 -5
  521. package/libcxx/include/__exception/nested_exception.h +2 -2
  522. package/libcxx/include/__exception/operations.h +5 -5
  523. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  524. package/libcxx/include/__expected/expected.h +62 -64
  525. package/libcxx/include/__expected/unexpected.h +4 -4
  526. package/libcxx/include/__filesystem/copy_options.h +4 -4
  527. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  528. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  529. package/libcxx/include/__filesystem/directory_options.h +7 -4
  530. package/libcxx/include/__filesystem/file_status.h +3 -3
  531. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  532. package/libcxx/include/__filesystem/operations.h +97 -66
  533. package/libcxx/include/__filesystem/path.h +68 -64
  534. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  535. package/libcxx/include/__filesystem/perm_options.h +4 -4
  536. package/libcxx/include/__filesystem/perms.h +4 -4
  537. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  538. package/libcxx/include/__filesystem/space_info.h +1 -1
  539. package/libcxx/include/__filesystem/u8path.h +12 -14
  540. package/libcxx/include/__flat_map/flat_map.h +88 -71
  541. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  542. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  543. package/libcxx/include/__flat_map/utils.h +1 -0
  544. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  545. package/libcxx/include/__flat_set/flat_set.h +86 -68
  546. package/libcxx/include/__format/concepts.h +0 -14
  547. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  548. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  549. package/libcxx/include/__format/format_arg.h +7 -10
  550. package/libcxx/include/__format/format_args.h +1 -1
  551. package/libcxx/include/__format/format_context.h +5 -5
  552. package/libcxx/include/__format/format_parse_context.h +2 -2
  553. package/libcxx/include/__format/formatter_output.h +30 -34
  554. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  555. package/libcxx/include/__format/range_default_formatter.h +2 -41
  556. package/libcxx/include/__format/range_format.h +71 -0
  557. package/libcxx/include/__format/range_formatter.h +1 -0
  558. package/libcxx/include/__format/width_estimation_table.h +4 -2
  559. package/libcxx/include/__functional/bind.h +10 -15
  560. package/libcxx/include/__functional/bind_back.h +1 -1
  561. package/libcxx/include/__functional/bind_front.h +1 -1
  562. package/libcxx/include/__functional/function.h +57 -75
  563. package/libcxx/include/__functional/hash.h +1 -10
  564. package/libcxx/include/__functional/identity.h +1 -1
  565. package/libcxx/include/__functional/is_transparent.h +8 -0
  566. package/libcxx/include/__functional/mem_fn.h +2 -1
  567. package/libcxx/include/__functional/operations.h +18 -0
  568. package/libcxx/include/__functional/ranges_operations.h +7 -0
  569. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  570. package/libcxx/include/__functional/weak_result_type.h +14 -28
  571. package/libcxx/include/__fwd/ios.h +1 -1
  572. package/libcxx/include/__fwd/tuple.h +14 -0
  573. package/libcxx/include/__hash_table +371 -357
  574. package/libcxx/include/__ios/fpos.h +4 -4
  575. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  576. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  577. package/libcxx/include/__iterator/concepts.h +6 -9
  578. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  579. package/libcxx/include/__iterator/distance.h +40 -18
  580. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  581. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  582. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  583. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  584. package/libcxx/include/__iterator/iter_move.h +1 -1
  585. package/libcxx/include/__iterator/iterator.h +13 -0
  586. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  587. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  588. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  589. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  590. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  591. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  592. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  593. package/libcxx/include/__locale +3 -10
  594. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  595. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  596. package/libcxx/include/__locale_dir/messages.h +1 -1
  597. package/libcxx/include/__locale_dir/money.h +2 -2
  598. package/libcxx/include/__locale_dir/num.h +190 -243
  599. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  600. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  601. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  602. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  603. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  604. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  605. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  606. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  607. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  608. package/libcxx/include/__locale_dir/time.h +3 -7
  609. package/libcxx/include/__math/hypot.h +1 -1
  610. package/libcxx/include/__math/logarithms.h +1 -1
  611. package/libcxx/include/__math/traits.h +80 -11
  612. package/libcxx/include/__mdspan/extents.h +7 -4
  613. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  614. package/libcxx/include/__mdspan/mdspan.h +29 -23
  615. package/libcxx/include/__memory/addressof.h +7 -5
  616. package/libcxx/include/__memory/align.h +18 -1
  617. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  618. package/libcxx/include/__memory/allocator.h +14 -26
  619. package/libcxx/include/__memory/allocator_traits.h +6 -4
  620. package/libcxx/include/__memory/compressed_pair.h +15 -9
  621. package/libcxx/include/__memory/construct_at.h +12 -23
  622. package/libcxx/include/__memory/inout_ptr.h +1 -1
  623. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  624. package/libcxx/include/__memory/out_ptr.h +1 -1
  625. package/libcxx/include/__memory/pointer_traits.h +1 -1
  626. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  627. package/libcxx/include/__memory/shared_count.h +9 -30
  628. package/libcxx/include/__memory/shared_ptr.h +100 -145
  629. package/libcxx/include/__memory/temp_value.h +1 -2
  630. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  631. package/libcxx/include/__memory/unique_ptr.h +14 -16
  632. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  633. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  634. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  635. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  636. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  637. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  638. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  639. package/libcxx/include/__mutex/mutex.h +2 -2
  640. package/libcxx/include/__mutex/once_flag.h +14 -11
  641. package/libcxx/include/__mutex/tag_types.h +3 -3
  642. package/libcxx/include/__mutex/unique_lock.h +8 -7
  643. package/libcxx/include/__new/align_val_t.h +6 -0
  644. package/libcxx/include/__new/allocate.h +1 -2
  645. package/libcxx/include/__new/exceptions.h +8 -2
  646. package/libcxx/include/__new/global_new_delete.h +4 -11
  647. package/libcxx/include/__new/interference_size.h +0 -4
  648. package/libcxx/include/__new/launder.h +3 -5
  649. package/libcxx/include/__new/nothrow_t.h +1 -1
  650. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  651. package/libcxx/include/__numeric/midpoint.h +9 -14
  652. package/libcxx/include/__numeric/pstl.h +2 -2
  653. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  654. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  655. package/libcxx/include/__pstl/backends/default.h +14 -14
  656. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  657. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  658. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  659. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  660. package/libcxx/include/__random/binomial_distribution.h +10 -4
  661. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  662. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  663. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  664. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  665. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  666. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  667. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  668. package/libcxx/include/__ranges/common_view.h +7 -7
  669. package/libcxx/include/__ranges/drop_view.h +8 -8
  670. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  671. package/libcxx/include/__ranges/elements_of.h +49 -0
  672. package/libcxx/include/__ranges/empty_view.h +5 -5
  673. package/libcxx/include/__ranges/filter_view.h +10 -10
  674. package/libcxx/include/__ranges/iota_view.h +41 -22
  675. package/libcxx/include/__ranges/owning_view.h +15 -15
  676. package/libcxx/include/__ranges/ref_view.h +6 -6
  677. package/libcxx/include/__ranges/repeat_view.h +17 -10
  678. package/libcxx/include/__ranges/single_view.h +8 -8
  679. package/libcxx/include/__ranges/take_view.h +9 -9
  680. package/libcxx/include/__ranges/transform_view.h +1 -2
  681. package/libcxx/include/__ranges/view_interface.h +10 -10
  682. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  683. package/libcxx/include/__ranges/zip_view.h +20 -20
  684. package/libcxx/include/__split_buffer +612 -240
  685. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  686. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  687. package/libcxx/include/__stop_token/stop_source.h +1 -1
  688. package/libcxx/include/__stop_token/stop_state.h +4 -4
  689. package/libcxx/include/__stop_token/stop_token.h +1 -1
  690. package/libcxx/include/__string/char_traits.h +51 -31
  691. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  692. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  693. package/libcxx/include/__system_error/error_category.h +8 -8
  694. package/libcxx/include/__system_error/error_code.h +5 -5
  695. package/libcxx/include/__system_error/error_condition.h +4 -4
  696. package/libcxx/include/__system_error/system_error.h +1 -1
  697. package/libcxx/include/__thread/id.h +1 -1
  698. package/libcxx/include/__thread/jthread.h +1 -1
  699. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  700. package/libcxx/include/__thread/support/c11.h +8 -8
  701. package/libcxx/include/__thread/support/pthread.h +8 -8
  702. package/libcxx/include/__thread/support/windows.h +8 -8
  703. package/libcxx/include/__thread/thread.h +13 -8
  704. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  705. package/libcxx/include/__tree +849 -701
  706. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  707. package/libcxx/include/__tuple/tuple_element.h +0 -12
  708. package/libcxx/include/__tuple/tuple_size.h +0 -4
  709. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  710. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  711. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  712. package/libcxx/include/__type_traits/invoke.h +8 -0
  713. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  714. package/libcxx/include/__type_traits/is_array.h +26 -0
  715. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  716. package/libcxx/include/__type_traits/is_final.h +1 -1
  717. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  718. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  719. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  720. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  721. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  722. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  723. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  724. package/libcxx/include/__utility/cmp.h +19 -7
  725. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  726. package/libcxx/include/__utility/in_place.h +1 -1
  727. package/libcxx/include/__utility/integer_sequence.h +56 -41
  728. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  729. package/libcxx/include/__utility/pair.h +22 -25
  730. package/libcxx/include/__utility/scope_guard.h +2 -0
  731. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  732. package/libcxx/include/__vector/vector.h +187 -160
  733. package/libcxx/include/__vector/vector_bool.h +76 -83
  734. package/libcxx/include/any +118 -155
  735. package/libcxx/include/array +88 -56
  736. package/libcxx/include/atomic +2 -0
  737. package/libcxx/include/barrier +20 -24
  738. package/libcxx/include/bitset +49 -30
  739. package/libcxx/include/ccomplex +3 -11
  740. package/libcxx/include/chrono +47 -0
  741. package/libcxx/include/ciso646 +3 -6
  742. package/libcxx/include/complex +77 -65
  743. package/libcxx/include/complex.h +10 -10
  744. package/libcxx/include/condition_variable +3 -3
  745. package/libcxx/include/cstdalign +3 -10
  746. package/libcxx/include/cstdbool +3 -10
  747. package/libcxx/include/ctgmath +2 -11
  748. package/libcxx/include/ctype.h +24 -24
  749. package/libcxx/include/cwchar +2 -2
  750. package/libcxx/include/deque +109 -225
  751. package/libcxx/include/errno.h +269 -269
  752. package/libcxx/include/exception +4 -1
  753. package/libcxx/include/ext/hash_map +7 -48
  754. package/libcxx/include/ext/hash_set +2 -8
  755. package/libcxx/include/fenv.h +43 -43
  756. package/libcxx/include/flat_map +663 -11
  757. package/libcxx/include/flat_set +543 -8
  758. package/libcxx/include/float.h +16 -16
  759. package/libcxx/include/forward_list +33 -53
  760. package/libcxx/include/fstream +57 -42
  761. package/libcxx/include/future +41 -51
  762. package/libcxx/include/initializer_list +9 -3
  763. package/libcxx/include/inttypes.h +16 -16
  764. package/libcxx/include/ios +28 -28
  765. package/libcxx/include/istream +19 -13
  766. package/libcxx/include/iterator +10 -0
  767. package/libcxx/include/latch +7 -5
  768. package/libcxx/include/limits +4 -4
  769. package/libcxx/include/list +61 -79
  770. package/libcxx/include/map +386 -274
  771. package/libcxx/include/math.h +19 -0
  772. package/libcxx/include/mdspan +1 -5
  773. package/libcxx/include/mutex +29 -19
  774. package/libcxx/include/optional +644 -149
  775. package/libcxx/include/print +9 -5
  776. package/libcxx/include/queue +39 -37
  777. package/libcxx/include/ranges +48 -0
  778. package/libcxx/include/regex +33 -31
  779. package/libcxx/include/scoped_allocator +16 -11
  780. package/libcxx/include/semaphore +15 -18
  781. package/libcxx/include/set +220 -192
  782. package/libcxx/include/shared_mutex +3 -8
  783. package/libcxx/include/span +53 -37
  784. package/libcxx/include/sstream +34 -28
  785. package/libcxx/include/stack +13 -15
  786. package/libcxx/include/stddef.h +10 -10
  787. package/libcxx/include/stdexcept +2 -2
  788. package/libcxx/include/stdio.h +20 -21
  789. package/libcxx/include/streambuf +59 -19
  790. package/libcxx/include/string +574 -573
  791. package/libcxx/include/string_view +113 -89
  792. package/libcxx/include/strstream +10 -10
  793. package/libcxx/include/syncstream +4 -4
  794. package/libcxx/include/tgmath.h +12 -12
  795. package/libcxx/include/tuple +242 -212
  796. package/libcxx/include/type_traits +8 -2
  797. package/libcxx/include/typeindex +5 -3
  798. package/libcxx/include/typeinfo +92 -89
  799. package/libcxx/include/unordered_map +179 -304
  800. package/libcxx/include/unordered_set +168 -195
  801. package/libcxx/include/utility +12 -0
  802. package/libcxx/include/valarray +106 -161
  803. package/libcxx/include/variant +25 -33
  804. package/libcxx/include/version +41 -24
  805. package/libcxx/include/wctype.h +29 -29
  806. package/libcxx/libc/hdr/errno_macros.h +3 -1
  807. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  808. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  809. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  810. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  811. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  812. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  813. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  814. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  815. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  816. package/libcxx/libc/shared/libc_common.h +5 -0
  817. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  818. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  819. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  820. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  821. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  822. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  823. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  824. package/libcxx/libc/src/__support/big_int.h +14 -14
  825. package/libcxx/libc/src/__support/common.h +3 -2
  826. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  827. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  828. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  829. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  830. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  831. package/libcxx/libc/src/__support/macros/config.h +23 -0
  832. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  833. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  834. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  835. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  836. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  837. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  838. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  839. package/libcxx/libc/src/__support/math_extras.h +20 -4
  840. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  841. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  842. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  843. package/libcxx/src/any.cpp +4 -0
  844. package/libcxx/src/atomic.cpp +365 -80
  845. package/libcxx/src/barrier.cpp +4 -3
  846. package/libcxx/src/charconv.cpp +6 -3
  847. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  848. package/libcxx/src/error_category.cpp +3 -1
  849. package/libcxx/src/exception.cpp +2 -10
  850. package/libcxx/src/experimental/time_zone.cpp +1 -1
  851. package/libcxx/src/experimental/tzdb.cpp +4 -1
  852. package/libcxx/src/filesystem/error.h +4 -22
  853. package/libcxx/src/filesystem/format_string.h +9 -18
  854. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  855. package/libcxx/src/filesystem/operations.cpp +2 -9
  856. package/libcxx/src/filesystem/path.cpp +3 -1
  857. package/libcxx/src/include/aligned_alloc.h +65 -0
  858. package/libcxx/src/include/config_elast.h +1 -1
  859. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  860. package/libcxx/src/include/overridable_function.h +8 -10
  861. package/libcxx/src/iostream.cpp +56 -37
  862. package/libcxx/src/locale.cpp +213 -196
  863. package/libcxx/src/memory.cpp +12 -14
  864. package/libcxx/src/mutex_destructor.cpp +1 -1
  865. package/libcxx/src/new.cpp +5 -5
  866. package/libcxx/src/optional.cpp +4 -0
  867. package/libcxx/src/print.cpp +9 -1
  868. package/libcxx/src/random.cpp +0 -26
  869. package/libcxx/src/string.cpp +10 -25
  870. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  871. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  872. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  873. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  874. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  875. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  876. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  877. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  878. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  879. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  880. package/libcxx/src/system_error.cpp +2 -0
  881. package/libcxx/src/thread.cpp +1 -3
  882. package/libcxx/src/valarray.cpp +1 -2
  883. package/libcxx/src/vector.cpp +2 -2
  884. package/libcxxabi/include/__cxxabi_config.h +42 -23
  885. package/libcxxabi/src/cxa_exception.cpp +4 -2
  886. package/libcxxabi/src/cxa_exception.h +16 -14
  887. package/libcxxabi/src/cxa_personality.cpp +126 -9
  888. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  889. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  890. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  891. package/libcxxabi/src/demangle/Utility.h +21 -7
  892. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  893. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  894. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  895. package/libtsan/LICENSE.TXT +311 -0
  896. package/libtsan/builtins/assembly.h +41 -8
  897. package/libtsan/interception/interception_win.cpp +4 -0
  898. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  899. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  900. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  901. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  902. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  903. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  904. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  905. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  906. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  907. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  908. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  909. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  910. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  911. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  912. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  913. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  914. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  915. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  916. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  917. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  918. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  919. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  920. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  921. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  922. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  923. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  924. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  925. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  926. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  927. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  928. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  929. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  930. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  931. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  932. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  933. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  934. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  935. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  936. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  937. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  938. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  939. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  940. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  941. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  942. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  943. package/libtsan/tsan_debugging.cpp +2 -2
  944. package/libtsan/tsan_flags.cpp +37 -0
  945. package/libtsan/tsan_flags.h +8 -0
  946. package/libtsan/tsan_flags.inc +12 -0
  947. package/libtsan/tsan_interceptors.h +9 -1
  948. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  949. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  950. package/libtsan/tsan_interface.h +3 -3
  951. package/libtsan/tsan_interface_ann.cpp +23 -9
  952. package/libtsan/tsan_mman.cpp +18 -4
  953. package/libtsan/tsan_platform.h +44 -7
  954. package/libtsan/tsan_platform_linux.cpp +42 -14
  955. package/libtsan/tsan_platform_mac.cpp +16 -3
  956. package/libtsan/tsan_report.h +14 -1
  957. package/libtsan/tsan_rtl.cpp +14 -0
  958. package/libtsan/tsan_rtl.h +7 -2
  959. package/libtsan/tsan_rtl_aarch64.S +3 -5
  960. package/libtsan/tsan_rtl_access.cpp +8 -3
  961. package/libtsan/tsan_rtl_amd64.S +2 -0
  962. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  963. package/libtsan/tsan_rtl_report.cpp +132 -65
  964. package/libtsan/tsan_rtl_thread.cpp +31 -9
  965. package/libtsan/tsan_symbolize.cpp +1 -1
  966. package/libtsan/tsan_symbolize.h +1 -1
  967. package/libtsan/tsan_trace.h +1 -1
  968. package/libunwind/include/__libunwind_config.h +11 -2
  969. package/libunwind/include/libunwind.h +117 -11
  970. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  971. package/libunwind/src/AddressSpace.hpp +42 -20
  972. package/libunwind/src/CompactUnwinder.hpp +16 -5
  973. package/libunwind/src/DwarfInstructions.hpp +24 -13
  974. package/libunwind/src/DwarfParser.hpp +62 -23
  975. package/libunwind/src/EHHeaderParser.hpp +7 -4
  976. package/libunwind/src/Registers.hpp +226 -22
  977. package/libunwind/src/Unwind-seh.cpp +6 -7
  978. package/libunwind/src/Unwind-wasm.c +7 -7
  979. package/libunwind/src/UnwindCursor.hpp +167 -49
  980. package/libunwind/src/UnwindLevel1.c +46 -17
  981. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  982. package/libunwind/src/UnwindRegistersSave.S +86 -2
  983. package/libunwind/src/assembly.h +5 -1
  984. package/libunwind/src/config.h +9 -0
  985. package/libunwind/src/gcc_personality_v0.c +79 -6
  986. package/libunwind/src/libunwind.cpp +104 -4
  987. package/libunwind/src/libunwind_ext.h +7 -1
  988. package/libunwind/src/shadow_stack_unwind.h +2 -2
  989. package/lldb/pretty_printers.py +948 -0
  990. package/package.json +1 -1
  991. package/std/Build/Cache/Path.zig +9 -2
  992. package/std/Build/Cache.zig +16 -7
  993. package/std/Build/Configuration.zig +3436 -0
  994. package/std/Build/Module.zig +99 -225
  995. package/std/Build/Step/CheckFile.zig +17 -63
  996. package/std/Build/Step/Compile.zig +97 -1420
  997. package/std/Build/Step/ConfigHeader.zig +55 -944
  998. package/std/Build/Step/Fail.zig +10 -20
  999. package/std/Build/Step/FindProgram.zig +31 -0
  1000. package/std/Build/Step/Fmt.zig +22 -57
  1001. package/std/Build/Step/InstallArtifact.zig +26 -141
  1002. package/std/Build/Step/InstallDir.zig +14 -67
  1003. package/std/Build/Step/InstallFile.zig +12 -21
  1004. package/std/Build/Step/ObjCopy.zig +82 -199
  1005. package/std/Build/Step/Options.zig +26 -261
  1006. package/std/Build/Step/Run.zig +139 -2214
  1007. package/std/Build/Step/TranslateC.zig +55 -164
  1008. package/std/Build/Step/UpdateSourceFiles.zig +38 -91
  1009. package/std/Build/Step/WriteFile.zig +113 -328
  1010. package/std/Build/Step.zig +45 -916
  1011. package/std/Build/abi.zig +1 -1
  1012. package/std/Build.zig +644 -718
  1013. package/std/Io/Dir.zig +12 -7
  1014. package/std/Io/Dispatch.zig +8 -18
  1015. package/std/Io/File/Writer.zig +8 -6
  1016. package/std/Io/File.zig +6 -9
  1017. package/std/Io/Kqueue.zig +3 -3
  1018. package/std/Io/Reader.zig +8 -14
  1019. package/std/Io/RwLock.zig +2 -0
  1020. package/std/Io/Semaphore.zig +112 -17
  1021. package/std/Io/Terminal.zig +1 -1
  1022. package/std/Io/Threaded.zig +176 -39
  1023. package/std/Io/Uring.zig +18 -20
  1024. package/std/Io/Writer.zig +75 -10
  1025. package/std/Io/net/HostName.zig +11 -6
  1026. package/std/Io/net.zig +11 -11
  1027. package/std/Io.zig +111 -38
  1028. package/std/Random/ChaCha.zig +2 -2
  1029. package/std/Random/benchmark.zig +2 -2
  1030. package/std/Random.zig +6 -6
  1031. package/std/SemanticVersion.zig +1 -1
  1032. package/std/Target/Query.zig +4 -5
  1033. package/std/Target/aarch64.zig +620 -77
  1034. package/std/Target/amdgcn.zig +421 -21
  1035. package/std/Target/arm.zig +40 -6
  1036. package/std/Target/bpf.zig +6 -0
  1037. package/std/Target/hexagon.zig +41 -6
  1038. package/std/Target/loongarch.zig +18 -0
  1039. package/std/Target/mips.zig +6 -0
  1040. package/std/Target/nvptx.zig +58 -35
  1041. package/std/Target/powerpc.zig +27 -19
  1042. package/std/Target/riscv.zig +512 -177
  1043. package/std/Target/sparc.zig +17 -0
  1044. package/std/Target/spirv.zig +1 -1
  1045. package/std/Target/wasm.zig +7 -0
  1046. package/std/Target/x86.zig +200 -31
  1047. package/std/Target/xtensa.zig +65 -0
  1048. package/std/Target.zig +94 -59
  1049. package/std/Thread.zig +17 -4
  1050. package/std/array_hash_map.zig +103 -57
  1051. package/std/array_list.zig +20 -35
  1052. package/std/ascii.zig +0 -9
  1053. package/std/atomic.zig +2 -0
  1054. package/std/base64.zig +5 -5
  1055. package/std/bit_set.zig +85 -93
  1056. package/std/c/haiku.zig +3 -0
  1057. package/std/c/serenity.zig +1 -6
  1058. package/std/c.zig +123 -32
  1059. package/std/compress/flate/Decompress.zig +3 -4
  1060. package/std/compress/zstd/Decompress.zig +7 -9
  1061. package/std/crypto/25519/curve25519.zig +2 -2
  1062. package/std/crypto/25519/edwards25519.zig +3 -3
  1063. package/std/crypto/25519/ristretto255.zig +2 -2
  1064. package/std/crypto/25519/scalar.zig +6 -6
  1065. package/std/crypto/25519/x25519.zig +1 -1
  1066. package/std/crypto/Certificate.zig +14 -2
  1067. package/std/crypto/Sha1.zig +1 -1
  1068. package/std/crypto/aegis.zig +45 -39
  1069. package/std/crypto/aes_ccm.zig +22 -22
  1070. package/std/crypto/aes_gcm.zig +10 -12
  1071. package/std/crypto/aes_ocb.zig +9 -9
  1072. package/std/crypto/argon2.zig +15 -15
  1073. package/std/crypto/ascon.zig +75 -35
  1074. package/std/crypto/bcrypt.zig +20 -10
  1075. package/std/crypto/benchmark.zig +7 -7
  1076. package/std/crypto/blake2.zig +100 -64
  1077. package/std/crypto/cbc_mac.zig +1 -1
  1078. package/std/crypto/chacha20.zig +10 -10
  1079. package/std/crypto/cmac.zig +3 -3
  1080. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  1081. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  1082. package/std/crypto/codecs/asn1.zig +1 -1
  1083. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  1084. package/std/crypto/ecdsa.zig +9 -9
  1085. package/std/crypto/ff.zig +4 -5
  1086. package/std/crypto/ghash_polyval.zig +4 -4
  1087. package/std/crypto/hkdf.zig +1 -1
  1088. package/std/crypto/isap.zig +3 -3
  1089. package/std/crypto/kangarootwelve.zig +1 -1
  1090. package/std/crypto/keccak_p.zig +8 -8
  1091. package/std/crypto/md5.zig +1 -1
  1092. package/std/crypto/ml_dsa.zig +39 -39
  1093. package/std/crypto/ml_kem.zig +12 -34
  1094. package/std/crypto/modes.zig +2 -2
  1095. package/std/crypto/pbkdf2.zig +1 -1
  1096. package/std/crypto/pcurves/common.zig +4 -5
  1097. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  1098. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  1099. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  1100. package/std/crypto/pcurves/tests/p256.zig +5 -5
  1101. package/std/crypto/pcurves/tests/p384.zig +5 -5
  1102. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  1103. package/std/crypto/salsa20.zig +8 -14
  1104. package/std/crypto/sha2.zig +2 -2
  1105. package/std/crypto/sha3.zig +2 -4
  1106. package/std/crypto/siphash.zig +1 -1
  1107. package/std/crypto/timing_safe.zig +10 -9
  1108. package/std/crypto/tls/Client.zig +89 -13
  1109. package/std/crypto/tls.zig +1 -1
  1110. package/std/crypto.zig +4 -3
  1111. package/std/debug/Dwarf.zig +21 -12
  1112. package/std/debug/Pdb.zig +25 -17
  1113. package/std/debug/SelfInfo/Elf.zig +1 -0
  1114. package/std/debug/cpu_context.zig +168 -24
  1115. package/std/debug.zig +17 -9
  1116. package/std/deque.zig +1 -1
  1117. package/std/elf.zig +22 -5
  1118. package/std/enums.zig +8 -20
  1119. package/std/fmt/float.zig +2 -0
  1120. package/std/fmt/parse_float/decimal.zig +1 -1
  1121. package/std/fmt/parse_float.zig +1 -1
  1122. package/std/fmt.zig +7 -8
  1123. package/std/fs/path.zig +7 -5
  1124. package/std/hash/Adler32.zig +3 -3
  1125. package/std/hash/benchmark.zig +2 -2
  1126. package/std/hash/wyhash.zig +2 -2
  1127. package/std/hash/xxhash.zig +0 -6
  1128. package/std/hash_map.zig +22 -2
  1129. package/std/heap/ArenaAllocator.zig +3 -5
  1130. package/std/heap/BufferFirstAllocator.zig +165 -0
  1131. package/std/heap/SafeAllocator.zig +2180 -0
  1132. package/std/heap/debug_allocator.zig +2 -2
  1133. package/std/heap/memory_pool.zig +34 -197
  1134. package/std/heap.zig +20 -133
  1135. package/std/http.zig +4 -5
  1136. package/std/json/Scanner.zig +2 -2
  1137. package/std/json/static.zig +2 -2
  1138. package/std/json.zig +1 -1
  1139. package/std/{builtin → lang}/assembly.zig +71 -0
  1140. package/std/{builtin.zig → lang.zig} +5 -3
  1141. package/std/leb128.zig +2 -2
  1142. package/std/math/acos.zig +6 -0
  1143. package/std/math/asin.zig +6 -0
  1144. package/std/math/atan.zig +5 -0
  1145. package/std/math/big/int.zig +5 -5
  1146. package/std/math/big.zig +4 -4
  1147. package/std/math/copysign.zig +1 -1
  1148. package/std/math/float.zig +62 -0
  1149. package/std/math/frexp.zig +4 -4
  1150. package/std/math/hypot.zig +4 -0
  1151. package/std/math/ilogb.zig +1 -1
  1152. package/std/math/isfinite.zig +1 -1
  1153. package/std/math/isinf.zig +1 -1
  1154. package/std/math/isnan.zig +1 -2
  1155. package/std/math/isnormal.zig +2 -2
  1156. package/std/math/iszero.zig +2 -2
  1157. package/std/math/ldexp.zig +2 -2
  1158. package/std/math/log10.zig +0 -2
  1159. package/std/math/modf.zig +1 -2
  1160. package/std/math/nextafter.zig +3 -4
  1161. package/std/math/pow.zig +1 -1
  1162. package/std/math/powi.zig +2 -3
  1163. package/std/math/signbit.zig +0 -1
  1164. package/std/math.zig +21 -26
  1165. package/std/mem/Allocator.zig +5 -9
  1166. package/std/mem.zig +52 -75
  1167. package/std/meta/trailer_flags.zig +1 -1
  1168. package/std/meta.zig +4 -36
  1169. package/std/multi_array_list.zig +24 -0
  1170. package/std/os/emscripten.zig +7 -6
  1171. package/std/os/linux/IoUring.zig +2 -0
  1172. package/std/os/linux/alpha.zig +358 -0
  1173. package/std/os/linux/arm.zig +0 -26
  1174. package/std/os/linux/bpf.zig +6 -0
  1175. package/std/os/linux/ioctl.zig +3 -2
  1176. package/std/os/linux/syscalls.zig +528 -1
  1177. package/std/os/linux/tls.zig +12 -1
  1178. package/std/os/linux/x86.zig +2 -2
  1179. package/std/os/linux/xtensa.zig +171 -0
  1180. package/std/os/linux.zig +794 -52
  1181. package/std/os/plan9.zig +1 -1
  1182. package/std/os/uefi/hii.zig +1 -1
  1183. package/std/os/uefi/tables/boot_services.zig +9 -8
  1184. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1185. package/std/os/windows.zig +130 -1
  1186. package/std/os.zig +36 -0
  1187. package/std/pie.zig +21 -0
  1188. package/std/posix.zig +2 -2
  1189. package/std/process/Child.zig +20 -0
  1190. package/std/process/Environ.zig +28 -4
  1191. package/std/process.zig +13 -5
  1192. package/std/simd.zig +4 -21
  1193. package/std/start.zig +45 -12
  1194. package/std/std.zig +8 -1
  1195. package/std/tar/Writer.zig +39 -33
  1196. package/std/tar.zig +8 -4
  1197. package/std/testing.zig +68 -15
  1198. package/std/unicode.zig +13 -8
  1199. package/std/zig/Ast/Render.zig +6 -30
  1200. package/std/zig/Ast.zig +12 -37
  1201. package/std/zig/AstGen.zig +174 -258
  1202. package/std/zig/AstRlAnnotate.zig +1 -11
  1203. package/std/zig/AstSmith.zig +5 -11
  1204. package/std/zig/ErrorBundle.zig +6 -2
  1205. package/std/zig/LibCDirs.zig +14 -7
  1206. package/std/zig/LibCInstallation.zig +50 -14
  1207. package/std/zig/Parse.zig +11 -76
  1208. package/std/zig/PkgConfig.zig +146 -0
  1209. package/std/zig/TokenSmith.zig +0 -6
  1210. package/std/zig/WindowsSdk.zig +18 -18
  1211. package/std/zig/Zir.zig +15 -69
  1212. package/std/zig/ZonGen.zig +19 -27
  1213. package/std/zig/llvm/Builder.zig +39 -33
  1214. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1215. package/std/zig/llvm/ir.zig +8 -8
  1216. package/std/zig/system/arm.zig +56 -2
  1217. package/std/zig/system/linux.zig +4 -0
  1218. package/std/zig/system/loongarch.zig +25 -9
  1219. package/std/zig/system/windows.zig +34 -1
  1220. package/std/zig/system/x86.zig +60 -16
  1221. package/std/zig/system.zig +18 -25
  1222. package/std/zig/target.zig +1 -4
  1223. package/std/zig/tokenizer.zig +4 -43
  1224. package/std/zig.zig +98 -22
  1225. package/std/zip.zig +5 -5
  1226. package/std/zon/Serializer.zig +6 -2
  1227. package/std/zon/parse.zig +1 -1
  1228. package/zig.h +24 -2
  1229. package/compiler/build_runner.zig +0 -1857
  1230. package/compiler_rt/long_double.zig +0 -37
  1231. package/include/amxbf16transposeintrin.h +0 -94
  1232. package/include/amxcomplextransposeintrin.h +0 -303
  1233. package/include/amxfp16transposeintrin.h +0 -94
  1234. package/include/amxmovrstransposeintrin.h +0 -200
  1235. package/include/amxtf32transposeintrin.h +0 -105
  1236. package/include/amxtransposeintrin.h +0 -248
  1237. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1238. package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
  1239. package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
  1240. package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
  1241. package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
  1242. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1243. package/libc/mingw/math/lrintl.c +0 -18
  1244. package/libc/mingw/math/rintl.c +0 -16
  1245. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1246. package/libc/musl/src/linux/tee.c +0 -8
  1247. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1248. package/libc/musl/src/math/i386/rintl.c +0 -7
  1249. package/libc/musl/src/math/lrintl.c +0 -36
  1250. package/libc/musl/src/math/rintl.c +0 -29
  1251. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1252. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1253. package/libc/musl/src/math/x32/rintl.s +0 -6
  1254. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1255. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1256. package/libc/musl/src/string/strdup.c +0 -10
  1257. package/libc/musl/src/string/strndup.c +0 -12
  1258. package/libc/musl/src/string/wcsdup.c +0 -10
  1259. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1260. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1261. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1262. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1263. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1264. package/libc/musl/src/unistd/dup2.c +0 -20
  1265. package/libc/musl/src/unistd/dup3.c +0 -26
  1266. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1267. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1268. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1269. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1270. package/std/Build/Step/CheckObject.zig +0 -2764
package/c/strings.zig CHANGED
@@ -81,41 +81,3 @@ fn __strncasecmp_l(a: [*:0]const c_char, b: [*:0]const c_char, n: usize, locale:
81
81
  _ = locale;
82
82
  return strncasecmp(a, b, n);
83
83
  }
84
-
85
- test bzero {
86
- var array: [10]u8 = [_]u8{ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
87
- var a = std.mem.zeroes([array.len]u8);
88
- a[9] = '0';
89
- bzero(&array[0], 9);
90
- try std.testing.expect(std.mem.eql(u8, &array, &a));
91
- }
92
-
93
- test firstBitSet {
94
- try std.testing.expectEqual(0, firstBitSet(usize, 0));
95
-
96
- for (0..@bitSizeOf(usize)) |i| {
97
- const bit = @as(usize, 1) << @intCast(i);
98
-
99
- try std.testing.expectEqual(i + 1, firstBitSet(usize, bit));
100
- }
101
- }
102
-
103
- test strcasecmp {
104
- try std.testing.expect(strcasecmp(@ptrCast("a"), @ptrCast("b")) < 0);
105
- try std.testing.expect(strcasecmp(@ptrCast("b"), @ptrCast("a")) > 0);
106
- try std.testing.expect(strcasecmp(@ptrCast("A"), @ptrCast("b")) < 0);
107
- try std.testing.expect(strcasecmp(@ptrCast("b"), @ptrCast("A")) > 0);
108
- try std.testing.expect(strcasecmp(@ptrCast("A"), @ptrCast("A")) == 0);
109
- try std.testing.expect(strcasecmp(@ptrCast("B"), @ptrCast("b")) == 0);
110
- try std.testing.expect(strcasecmp(@ptrCast("bb"), @ptrCast("AA")) > 0);
111
- }
112
-
113
- test strncasecmp {
114
- try std.testing.expect(strncasecmp(@ptrCast("a"), @ptrCast("b"), 1) < 0);
115
- try std.testing.expect(strncasecmp(@ptrCast("b"), @ptrCast("a"), 1) > 0);
116
- try std.testing.expect(strncasecmp(@ptrCast("A"), @ptrCast("b"), 1) < 0);
117
- try std.testing.expect(strncasecmp(@ptrCast("b"), @ptrCast("A"), 1) > 0);
118
- try std.testing.expect(strncasecmp(@ptrCast("A"), @ptrCast("A"), 1) == 0);
119
- try std.testing.expect(strncasecmp(@ptrCast("B"), @ptrCast("b"), 1) == 0);
120
- try std.testing.expect(strncasecmp(@ptrCast("bb"), @ptrCast("AA"), 2) > 0);
121
- }
package/c/unistd.zig CHANGED
@@ -21,6 +21,9 @@ comptime {
21
21
  symbol(&chrootLinux, "chroot");
22
22
  symbol(&ctermidLinux, "ctermid");
23
23
  symbol(&dupLinux, "dup");
24
+ symbol(&dup2Linux, "dup2");
25
+ symbol(&dup3Linux, "dup3");
26
+ symbol(&dup3Linux, "__dup3");
24
27
 
25
28
  symbol(&getegidLinux, "getegid");
26
29
  symbol(&geteuidLinux, "geteuid");
@@ -101,6 +104,31 @@ fn dupLinux(fd: c_int) callconv(.c) c_int {
101
104
  return errno(linux.dup(fd));
102
105
  }
103
106
 
107
+ fn dup2Linux(old: c_int, new: c_int) callconv(.c) c_int {
108
+ const busy: usize = @bitCast(-@as(isize, @intFromEnum(linux.E.BUSY)));
109
+ var res = busy;
110
+ while (res == busy) res = linux.dup2(old, new);
111
+ return errno(res);
112
+ }
113
+
114
+ fn dup3Linux(old: c_int, new: c_int, flags: c_int) callconv(.c) c_int {
115
+ const busy: usize = @bitCast(-@as(isize, @intFromEnum(linux.E.BUSY)));
116
+ var res = busy;
117
+
118
+ if (@hasField(linux.SYS, "dup3")) {
119
+ while (res == busy) res = linux.dup3(old, new, @intCast(flags));
120
+ } else if (@hasField(linux.SYS, "dup2")) {
121
+ const cloexec: c_int = @bitCast(linux.O{ .CLOEXEC = true });
122
+ const inval: usize = @bitCast(-@as(isize, @intFromEnum(linux.E.INVAL)));
123
+ if (old == new or (flags & ~cloexec != 0)) return errno(inval);
124
+ while (res == busy) res = linux.dup2(old, new);
125
+ _ = if (res >= 0 and (flags & cloexec == cloexec)) linux.fcntl(new, linux.F.SETFD, linux.FD_CLOEXEC);
126
+ } else {
127
+ return errno(@bitCast(-@as(isize, @intFromEnum(linux.E.NOSYS))));
128
+ }
129
+ return errno(res);
130
+ }
131
+
104
132
  fn getegidLinux() callconv(.c) linux.gid_t {
105
133
  return linux.getegid();
106
134
  }
@@ -206,32 +234,6 @@ fn swab(noalias src_ptr: *const anyopaque, noalias dest_ptr: *anyopaque, n: isiz
206
234
  }
207
235
  }
208
236
 
209
- test swab {
210
- var a: [4]u8 = undefined;
211
- @memset(a[0..], '\x00');
212
- swab("abcd", &a, 4);
213
- try std.testing.expectEqualSlices(u8, "badc", &a);
214
-
215
- // Partial copy
216
- @memset(a[0..], '\x00');
217
- swab("abcd", &a, 2);
218
- try std.testing.expectEqualSlices(u8, "ba\x00\x00", &a);
219
-
220
- // n < 1
221
- @memset(a[0..], '\x00');
222
- swab("abcd", &a, 0);
223
- try std.testing.expectEqualSlices(u8, "\x00" ** 4, &a);
224
- swab("abcd", &a, -1);
225
- try std.testing.expectEqualSlices(u8, "\x00" ** 4, &a);
226
-
227
- // Odd n
228
- @memset(a[0..], '\x00');
229
- swab("abcd", &a, 1);
230
- try std.testing.expectEqualSlices(u8, "\x00" ** 4, &a);
231
- swab("abcd", &a, 3);
232
- try std.testing.expectEqualSlices(u8, "ba\x00\x00", &a);
233
- }
234
-
235
237
  fn close(fd: std.c.fd_t) callconv(.c) c_int {
236
238
  const signed: isize = @bitCast(linux.close(fd));
237
239
  if (signed < 0) {
package/c/wchar.zig CHANGED
@@ -5,6 +5,7 @@ const wint_t = std.c.wint_t;
5
5
  const wchar_t = std.c.wchar_t;
6
6
 
7
7
  const symbol = @import("../c.zig").symbol;
8
+ const c = std.c;
8
9
 
9
10
  comptime {
10
11
  if (builtin.target.isMuslLibC() or builtin.target.isWasiLibC()) {
@@ -30,6 +31,7 @@ comptime {
30
31
  symbol(&wcspbrk, "wcspbrk");
31
32
  symbol(&wcstok, "wcstok");
32
33
  symbol(&wcsstr, "wcsstr");
34
+ symbol(&wcsdup, "wcsdup");
33
35
  symbol(&wcswcs, "wcswcs");
34
36
  }
35
37
 
@@ -189,3 +191,11 @@ fn wcsstr(noalias haystack: [*:0]const wchar_t, noalias needle: [*:0]const wchar
189
191
  fn wcswcs(noalias haystack: [*:0]const wchar_t, noalias needle: [*:0]const wchar_t) callconv(.c) ?[*:0]wchar_t {
190
192
  return wcsstr(haystack, needle);
191
193
  }
194
+
195
+ fn wcsdup(str: [*:0]const wchar_t) callconv(.c) ?[*:0]wchar_t {
196
+ const len = wcslen(str);
197
+ const size = (len + 1) * @sizeOf(wchar_t);
198
+ const d_opaque = c.malloc(size) orelse return null;
199
+ const d: [*]wchar_t = @ptrCast(@alignCast(d_opaque));
200
+ return @ptrCast(wmemcpy(d, str, len + 1));
201
+ }
package/c.zig CHANGED
@@ -2,8 +2,7 @@
2
2
  //! bundled libcs.
3
3
  //!
4
4
  //! mingw-w64 libc is not fully statically linked, so some symbols don't need
5
- //! to be exported. However, a future enhancement could be eliminating Zig's
6
- //! dependency on msvcrt dll even when linking libc and targeting Windows.
5
+ //! to be exported.
7
6
 
8
7
  const builtin = @import("builtin");
9
8
  const std = @import("std");
@@ -69,6 +68,7 @@ comptime {
69
68
  _ = @import("c/malloc.zig");
70
69
  }
71
70
  _ = @import("c/math.zig");
71
+ _ = @import("c/pthread.zig");
72
72
  _ = @import("c/search.zig");
73
73
  _ = @import("c/stdlib.zig");
74
74
  _ = @import("c/string.zig");
@@ -1,24 +1,25 @@
1
- const std = @import("../std.zig");
2
- const Io = std.Io;
1
+ const Fuzz = @This();
2
+
3
+ const std = @import("std");
4
+ const Allocator = std.mem.Allocator;
3
5
  const Build = std.Build;
4
- const Cache = Build.Cache;
5
- const Step = std.Build.Step;
6
+ const Cache = std.Build.Cache;
7
+ const Coverage = std.debug.Coverage;
8
+ const Configuration = std.Build.Configuration;
9
+ const Io = std.Io;
10
+ const abi = std.Build.abi.fuzz;
6
11
  const assert = std.debug.assert;
7
12
  const fatal = std.process.fatal;
8
- const Allocator = std.mem.Allocator;
9
13
  const log = std.log;
10
- const Coverage = std.debug.Coverage;
11
- const abi = Build.abi.fuzz;
12
14
 
13
- const Fuzz = @This();
14
- const build_runner = @import("root");
15
+ const Maker = @import("../Maker.zig");
16
+ const WebServer = @import("WebServer.zig");
15
17
 
16
- gpa: Allocator,
17
- io: Io,
18
+ maker: *Maker,
18
19
  mode: Mode,
19
20
 
20
21
  /// Allocated into `gpa`.
21
- run_steps: []const *Step.Run,
22
+ run_steps: []const Configuration.Step.Index,
22
23
 
23
24
  group: Io.Group,
24
25
  root_prog_node: std.Progress.Node,
@@ -33,7 +34,7 @@ queue_cond: Io.Condition,
33
34
  msg_queue: std.ArrayList(Msg),
34
35
 
35
36
  pub const Mode = union(enum) {
36
- forever: struct { ws: *Build.WebServer },
37
+ forever: struct { ws: *WebServer },
37
38
  limit: Limited,
38
39
 
39
40
  pub const Limited = struct {
@@ -49,7 +50,7 @@ const Msg = union(enum) {
49
50
  unique: u64,
50
51
  coverage: u64,
51
52
  },
52
- run: *Step.Run,
53
+ run: Configuration.Step.Index,
53
54
  },
54
55
  entry_point: struct {
55
56
  coverage_id: u64,
@@ -74,45 +75,50 @@ const CoverageMap = struct {
74
75
  };
75
76
 
76
77
  pub fn init(
77
- gpa: Allocator,
78
- io: Io,
79
- all_steps: []const *Build.Step,
78
+ maker: *Maker,
79
+ all_steps: []const Configuration.Step.Index,
80
80
  root_prog_node: std.Progress.Node,
81
81
  mode: Mode,
82
82
  ) error{ OutOfMemory, Canceled }!Fuzz {
83
- const run_steps: []const *Step.Run = steps: {
84
- var steps: std.ArrayList(*Step.Run) = .empty;
83
+ const graph = maker.graph;
84
+ const gpa = graph.cache.gpa;
85
+ const io = graph.io;
86
+ const conf = &maker.scanned_config.configuration;
87
+
88
+ const run_steps: []const Configuration.Step.Index = steps: {
89
+ var steps: std.ArrayList(Configuration.Step.Index) = .empty;
85
90
  defer steps.deinit(gpa);
86
91
  const rebuild_node = root_prog_node.start("Rebuilding Unit Tests", 0);
87
92
  defer rebuild_node.end();
88
93
  var rebuild_group: Io.Group = .init;
89
94
  defer rebuild_group.cancel(io);
90
95
 
91
- for (all_steps) |step| {
92
- const run = step.cast(Step.Run) orelse continue;
93
- if (run.producer == null) continue;
96
+ for (all_steps) |step_index| {
97
+ const conf_run = step_index.ptr(conf).extended.cast(conf, Configuration.Step.Run) orelse continue;
98
+ if (conf_run.producer.value == null) continue;
99
+ const run = &maker.stepByIndex(step_index).extended.run;
94
100
  if (run.fuzz_tests.items.len == 0) continue;
95
- try steps.append(gpa, run);
96
- rebuild_group.async(io, rebuildTestsWorkerRun, .{ run, gpa, rebuild_node });
101
+ try steps.append(gpa, step_index);
102
+ rebuild_group.async(io, rebuildTestsWorkerRun, .{ maker, step_index, rebuild_node });
97
103
  }
98
104
 
99
105
  if (steps.items.len == 0) fatal("no fuzz tests found", .{});
100
106
  rebuild_node.setEstimatedTotalItems(steps.items.len);
101
- const run_steps = try gpa.dupe(*Step.Run, steps.items);
107
+ const run_steps = try gpa.dupe(Configuration.Step.Index, steps.items);
102
108
  try rebuild_group.await(io);
103
109
  break :steps run_steps;
104
110
  };
105
111
  errdefer gpa.free(run_steps);
106
112
 
107
- for (run_steps) |run| {
113
+ for (run_steps) |run_index| {
114
+ const run = &maker.stepByIndex(run_index).extended.run;
108
115
  assert(run.fuzz_tests.items.len > 0);
109
116
  if (run.rebuilt_executable == null)
110
117
  fatal("one or more unit tests failed to be rebuilt in fuzz mode", .{});
111
118
  }
112
119
 
113
120
  return .{
114
- .gpa = gpa,
115
- .io = io,
121
+ .maker = maker,
116
122
  .mode = mode,
117
123
  .run_steps = run_steps,
118
124
  .group = .init,
@@ -127,7 +133,10 @@ pub fn init(
127
133
  }
128
134
 
129
135
  pub fn start(fuzz: *Fuzz) void {
130
- const io = fuzz.io;
136
+ const maker = fuzz.maker;
137
+ const graph = maker.graph;
138
+ const io = graph.io;
139
+
131
140
  fuzz.prog_node = fuzz.root_prog_node.start("Fuzzing", 0);
132
141
 
133
142
  if (fuzz.mode == .forever) {
@@ -136,71 +145,119 @@ pub fn start(fuzz: *Fuzz) void {
136
145
  fatal("unable to spawn coverage task: {t}", .{err});
137
146
  }
138
147
 
139
- for (fuzz.run_steps) |run| {
148
+ for (fuzz.run_steps) |run_index| {
149
+ const run = &maker.stepByIndex(run_index).extended.run;
140
150
  assert(run.rebuilt_executable != null);
141
- fuzz.group.async(io, fuzzWorkerRun, .{ fuzz, run });
151
+ fuzz.group.async(io, fuzzWorkerRun, .{ fuzz, run_index });
142
152
  }
143
153
  }
144
154
 
145
155
  pub fn deinit(fuzz: *Fuzz) void {
146
- const io = fuzz.io;
156
+ const maker = fuzz.maker;
157
+ const graph = maker.graph;
158
+ const io = graph.io;
159
+ const gpa = maker.gpa;
160
+
147
161
  fuzz.group.cancel(io);
148
162
  fuzz.prog_node.end();
149
- fuzz.gpa.free(fuzz.run_steps);
163
+ gpa.free(fuzz.run_steps);
150
164
  }
151
165
 
152
- fn rebuildTestsWorkerRun(run: *Step.Run, gpa: Allocator, parent_prog_node: std.Progress.Node) void {
153
- rebuildTestsWorkerRunFallible(run, gpa, parent_prog_node) catch |err| {
154
- const compile = run.producer.?;
155
- log.err("step '{s}': failed to rebuild in fuzz mode: {t}", .{ compile.step.name, err });
166
+ fn rebuildTestsWorkerRun(
167
+ maker: *Maker,
168
+ run_index: Configuration.Step.Index,
169
+ parent_prog_node: std.Progress.Node,
170
+ ) void {
171
+ rebuildTestsWorkerRunFallible(maker, run_index, parent_prog_node) catch |err| {
172
+ const conf = &maker.scanned_config.configuration;
173
+ const conf_run = run_index.ptr(conf).extended.cast(conf, Configuration.Step.Run).?;
174
+ const comp_index = conf_run.producer.value.?;
175
+ const step_name = comp_index.ptr(conf).name.slice(conf);
176
+ log.err("step {s}: failed to rebuild in fuzz mode: {t}", .{ step_name, err });
156
177
  };
157
178
  }
158
179
 
159
- fn rebuildTestsWorkerRunFallible(run: *Step.Run, gpa: Allocator, parent_prog_node: std.Progress.Node) !void {
160
- const graph = run.step.owner.graph;
180
+ fn rebuildTestsWorkerRunFallible(
181
+ maker: *Maker,
182
+ run_index: Configuration.Step.Index,
183
+ parent_prog_node: std.Progress.Node,
184
+ ) !void {
185
+ const graph = maker.graph;
161
186
  const io = graph.io;
162
- const compile = run.producer.?;
163
- const prog_node = parent_prog_node.start(compile.step.name, 0);
187
+ const gpa = maker.gpa;
188
+ const conf = &maker.scanned_config.configuration;
189
+ const run = &maker.stepByIndex(run_index).extended.run;
190
+ const conf_run = run_index.ptr(conf).extended.cast(conf, Configuration.Step.Run).?;
191
+ const comp_index = conf_run.producer.value.?;
192
+ const comp_step = maker.stepByIndex(comp_index);
193
+ const comp = &comp_step.extended.compile;
194
+ const conf_comp_step = comp_index.ptr(conf);
195
+ const conf_comp = conf_comp_step.extended.cast(conf, Configuration.Step.Compile).?;
196
+ const root_module = conf_comp.root_module.get(conf);
197
+ const target = root_module.resolved_target.get(conf).?.result.get(conf);
198
+
199
+ const prog_node = parent_prog_node.start(conf_comp_step.name.slice(conf), 0);
164
200
  defer prog_node.end();
165
201
 
166
- const result = compile.rebuildInFuzzMode(gpa, prog_node);
202
+ const result = comp.rebuildInFuzzMode(maker, comp_index, prog_node);
167
203
 
168
- const show_compile_errors = compile.step.result_error_bundle.errorMessageCount() > 0;
169
- const show_error_msgs = compile.step.result_error_msgs.items.len > 0;
170
- const show_stderr = compile.step.result_stderr.len > 0;
204
+ const show_compile_errors = comp_step.result_error_bundle.errorMessageCount() > 0;
205
+ const show_error_msgs = comp_step.result_error_msgs.items.len > 0;
206
+ const show_stderr = comp_step.result_stderr.len > 0;
171
207
 
172
208
  if (show_error_msgs or show_compile_errors or show_stderr) {
173
209
  var buf: [256]u8 = undefined;
174
210
  const stderr = try io.lockStderr(&buf, graph.stderr_mode);
175
211
  defer io.unlockStderr();
176
- build_runner.printErrorMessages(gpa, &compile.step, .{}, stderr.terminal(), .verbose, .indent) catch {};
212
+ maker.printErrorMessages(comp_index, .{}, stderr.terminal(), .verbose, .indent) catch {};
177
213
  }
178
214
 
179
215
  const rebuilt_bin_path = result catch |err| switch (err) {
180
216
  error.MakeFailed => return,
181
217
  else => |other| return other,
182
218
  };
183
- run.rebuilt_executable = try rebuilt_bin_path.join(gpa, compile.out_filename);
219
+ const compile_filename = try std.zig.binNameAlloc(gpa, .{
220
+ .root_name = conf_comp.root_name.slice(conf),
221
+ .cpu_arch = target.flags.cpu_arch.unwrap().?,
222
+ .os_tag = target.flags.os_tag.unwrap().?,
223
+ .ofmt = target.flags.object_format.unwrap().?,
224
+ .abi = target.flags.abi.unwrap().?,
225
+ .output_mode = switch (conf_comp.flags3.kind) {
226
+ .lib => .Lib,
227
+ .obj, .test_obj => .Obj,
228
+ .exe, .@"test" => .Exe,
229
+ },
230
+ .link_mode = conf_comp.flags2.linkage.unwrap(),
231
+ .version = if (conf_comp.version.value) |v|
232
+ std.SemanticVersion.parse(v.slice(conf)) catch unreachable
233
+ else
234
+ null,
235
+ });
236
+ defer gpa.free(compile_filename);
237
+
238
+ run.rebuilt_executable = try rebuilt_bin_path.join(gpa, compile_filename);
184
239
  }
185
240
 
186
- fn fuzzWorkerRun(fuzz: *Fuzz, run: *Step.Run) void {
187
- const owner = run.step.owner;
188
- const gpa = owner.allocator;
189
- const graph = owner.graph;
241
+ fn fuzzWorkerRun(fuzz: *Fuzz, run_index: Configuration.Step.Index) void {
242
+ const maker = fuzz.maker;
243
+ const graph = maker.graph;
190
244
  const io = graph.io;
245
+ const conf = &maker.scanned_config.configuration;
246
+ const run = &maker.stepByIndex(run_index).extended.run;
191
247
 
192
- run.rerunInFuzzMode(fuzz, fuzz.prog_node) catch |err| switch (err) {
248
+ run.rerunInFuzzMode(run_index, fuzz, fuzz.prog_node) catch |err| switch (err) {
193
249
  error.MakeFailed => {
194
250
  var buf: [256]u8 = undefined;
195
251
  const stderr = io.lockStderr(&buf, graph.stderr_mode) catch |e| switch (e) {
196
252
  error.Canceled => return,
197
253
  };
198
254
  defer io.unlockStderr();
199
- build_runner.printErrorMessages(gpa, &run.step, .{}, stderr.terminal(), .verbose, .indent) catch {};
255
+ maker.printErrorMessages(run_index, .{}, stderr.terminal(), .verbose, .indent) catch {};
200
256
  return;
201
257
  },
202
258
  else => {
203
- log.err("step '{s}': failed to rerun in fuzz mode: {t}", .{ run.step.name, err });
259
+ const step_name = run_index.ptr(conf).name.slice(conf);
260
+ log.err("step {s}: failed to rerun in fuzz mode: {t}", .{ step_name, err });
204
261
  return;
205
262
  },
206
263
  };
@@ -208,19 +265,25 @@ fn fuzzWorkerRun(fuzz: *Fuzz, run: *Step.Run) void {
208
265
 
209
266
  pub fn serveSourcesTar(fuzz: *Fuzz, req: *std.http.Server.Request) !void {
210
267
  assert(fuzz.mode == .forever);
268
+ const maker = fuzz.maker;
269
+ const gpa = maker.gpa;
270
+ const conf = &maker.scanned_config.configuration;
211
271
 
212
- var arena_state: std.heap.ArenaAllocator = .init(fuzz.gpa);
272
+ var arena_state: std.heap.ArenaAllocator = .init(gpa);
213
273
  defer arena_state.deinit();
214
274
  const arena = arena_state.allocator();
215
275
 
216
276
  const DedupTable = std.ArrayHashMapUnmanaged(Build.Cache.Path, void, Build.Cache.Path.TableAdapter, false);
217
277
  var dedup_table: DedupTable = .empty;
218
- defer dedup_table.deinit(fuzz.gpa);
278
+ defer dedup_table.deinit(gpa);
219
279
 
220
- for (fuzz.run_steps) |run_step| {
221
- const compile_inputs = run_step.producer.?.step.inputs.table;
280
+ for (fuzz.run_steps) |run_index| {
281
+ const conf_run = run_index.ptr(conf).extended.cast(conf, Configuration.Step.Run) orelse continue;
282
+ const comp_index = conf_run.producer.value.?;
283
+ const comp_step = maker.stepByIndex(comp_index);
284
+ const compile_inputs = comp_step.inputs.table;
222
285
  for (compile_inputs.keys(), compile_inputs.values()) |dir_path, *file_list| {
223
- try dedup_table.ensureUnusedCapacity(fuzz.gpa, file_list.items.len);
286
+ try dedup_table.ensureUnusedCapacity(gpa, file_list.items.len);
224
287
  for (file_list.items) |sub_path| {
225
288
  if (!std.mem.endsWith(u8, sub_path, ".zig")) continue;
226
289
  const joined_path = try dir_path.join(arena, sub_path);
@@ -259,7 +322,9 @@ pub fn sendUpdate(
259
322
  socket: *std.http.Server.WebSocket,
260
323
  prev: *Previous,
261
324
  ) !void {
262
- const io = fuzz.io;
325
+ const maker = fuzz.maker;
326
+ const graph = maker.graph;
327
+ const io = graph.io;
263
328
 
264
329
  try fuzz.coverage_mutex.lock(io);
265
330
  defer fuzz.coverage_mutex.unlock(io);
@@ -330,7 +395,9 @@ fn coverageRun(fuzz: *Fuzz) void {
330
395
  }
331
396
 
332
397
  fn coverageRunCancelable(fuzz: *Fuzz) Io.Cancelable!void {
333
- const io = fuzz.io;
398
+ const maker = fuzz.maker;
399
+ const graph = maker.graph;
400
+ const io = graph.io;
334
401
 
335
402
  try fuzz.queue_mutex.lock(io);
336
403
  defer fuzz.queue_mutex.unlock(io);
@@ -352,11 +419,15 @@ fn coverageRunCancelable(fuzz: *Fuzz) Io.Cancelable!void {
352
419
  fuzz.msg_queue.clearRetainingCapacity();
353
420
  }
354
421
  }
355
- fn prepareTables(fuzz: *Fuzz, run_step: *Step.Run, coverage_id: u64) error{ OutOfMemory, AlreadyReported, Canceled }!void {
422
+ fn prepareTables(fuzz: *Fuzz, run_index: Configuration.Step.Index, coverage_id: u64) error{ OutOfMemory, AlreadyReported, Canceled }!void {
356
423
  assert(fuzz.mode == .forever);
357
424
  const ws = fuzz.mode.forever.ws;
358
- const gpa = fuzz.gpa;
359
- const io = fuzz.io;
425
+ const maker = fuzz.maker;
426
+ const graph = maker.graph;
427
+ const io = graph.io;
428
+ const gpa = maker.gpa;
429
+ const conf = &maker.scanned_config.configuration;
430
+ const cache_root = graph.local_cache_root;
360
431
 
361
432
  try fuzz.coverage_mutex.lock(io);
362
433
  defer fuzz.coverage_mutex.unlock(io);
@@ -382,37 +453,45 @@ fn prepareTables(fuzz: *Fuzz, run_step: *Step.Run, coverage_id: u64) error{ OutO
382
453
  };
383
454
  errdefer gop.value_ptr.coverage.deinit(gpa);
384
455
 
385
- const rebuilt_exe_path = run_step.rebuilt_executable.?;
386
- const target = run_step.producer.?.rootModuleTarget();
456
+ const run_step = maker.stepByIndex(run_index);
457
+ const conf_run_step = run_index.ptr(conf);
458
+ const conf_run = conf_run_step.extended.cast(conf, Configuration.Step.Run).?;
459
+ const comp_index = conf_run.producer.value.?;
460
+ const conf_comp_step = comp_index.ptr(conf);
461
+ const conf_comp = conf_comp_step.extended.cast(conf, Configuration.Step.Compile).?;
462
+ const rebuilt_exe_path = run_step.extended.run.rebuilt_executable.?;
463
+ const root_module = conf_comp.root_module.get(conf);
464
+ const target = root_module.resolved_target.get(conf).?.result.get(conf);
465
+
387
466
  var debug_info = std.debug.Info.load(
388
467
  gpa,
389
468
  io,
390
469
  rebuilt_exe_path,
391
470
  &gop.value_ptr.coverage,
392
- target.ofmt,
393
- target.cpu.arch,
471
+ target.flags.object_format.unwrap().?,
472
+ target.flags.cpu_arch.unwrap().?,
394
473
  ) catch |err| {
395
- log.err("step '{s}': failed to load debug information for '{f}': {t}", .{
396
- run_step.step.name, rebuilt_exe_path, err,
474
+ log.err("step {s}: failed to load debug information for {f}: {t}", .{
475
+ conf_run_step.name.slice(conf), rebuilt_exe_path, err,
397
476
  });
398
477
  return error.AlreadyReported;
399
478
  };
400
479
  defer debug_info.deinit(gpa);
401
480
 
402
481
  const coverage_file_path: Build.Cache.Path = .{
403
- .root_dir = run_step.step.owner.cache_root,
482
+ .root_dir = cache_root,
404
483
  .sub_path = "v/" ++ std.fmt.hex(coverage_id),
405
484
  };
406
485
  var coverage_file = coverage_file_path.root_dir.handle.openFile(io, coverage_file_path.sub_path, .{}) catch |err| {
407
- log.err("step '{s}': failed to load coverage file '{f}': {t}", .{
408
- run_step.step.name, coverage_file_path, err,
486
+ log.err("step {s}: failed to load coverage file {f}: {t}", .{
487
+ conf_run_step.name.slice(conf), coverage_file_path, err,
409
488
  });
410
489
  return error.AlreadyReported;
411
490
  };
412
491
  defer coverage_file.close(io);
413
492
 
414
493
  const file_size = coverage_file.length(io) catch |err| {
415
- log.err("unable to check len of coverage file '{f}': {t}", .{ coverage_file_path, err });
494
+ log.err("unable to check len of coverage file {f}: {t}", .{ coverage_file_path, err });
416
495
  return error.AlreadyReported;
417
496
  };
418
497
 
@@ -424,7 +503,7 @@ fn prepareTables(fuzz: *Fuzz, run_step: *Step.Run, coverage_id: u64) error{ OutO
424
503
  coverage_file.handle,
425
504
  0,
426
505
  ) catch |err| {
427
- log.err("failed to map coverage file '{f}': {t}", .{ coverage_file_path, err });
506
+ log.err("failed to map coverage file {f}: {t}", .{ coverage_file_path, err });
428
507
  return error.AlreadyReported;
429
508
  };
430
509
  gop.value_ptr.mapped_memory = mapped_memory;
@@ -462,7 +541,10 @@ fn prepareTables(fuzz: *Fuzz, run_step: *Step.Run, coverage_id: u64) error{ OutO
462
541
  }
463
542
 
464
543
  fn addEntryPoint(fuzz: *Fuzz, coverage_id: u64, addr: u64) error{ AlreadyReported, OutOfMemory, Canceled }!void {
465
- const io = fuzz.io;
544
+ const maker = fuzz.maker;
545
+ const graph = maker.graph;
546
+ const io = graph.io;
547
+ const gpa = maker.gpa;
466
548
 
467
549
  try fuzz.coverage_mutex.lock(io);
468
550
  defer fuzz.coverage_mutex.unlock(io);
@@ -508,12 +590,16 @@ fn addEntryPoint(fuzz: *Fuzz, coverage_id: u64, addr: u64) error{ AlreadyReporte
508
590
  });
509
591
  }
510
592
  }
511
- try coverage_map.entry_points.append(fuzz.gpa, @intCast(index));
593
+ try coverage_map.entry_points.append(gpa, @intCast(index));
512
594
  }
513
595
 
514
596
  pub fn waitAndPrintReport(fuzz: *Fuzz) Io.Cancelable!void {
515
597
  assert(fuzz.mode == .limit);
516
- const io = fuzz.io;
598
+ const maker = fuzz.maker;
599
+ const graph = maker.graph;
600
+ const io = graph.io;
601
+ const cache_root = graph.local_cache_root;
602
+ const conf = &maker.scanned_config.configuration;
517
603
 
518
604
  try fuzz.group.await(io);
519
605
  fuzz.group = .init;
@@ -523,13 +609,15 @@ pub fn waitAndPrintReport(fuzz: *Fuzz) Io.Cancelable!void {
523
609
  if (msg != .coverage) continue;
524
610
 
525
611
  const cov = msg.coverage;
612
+ const run_step_name = cov.run.ptr(conf).name.slice(conf);
613
+ const run = &maker.stepByIndex(cov.run).extended.run;
526
614
  const coverage_file_path: std.Build.Cache.Path = .{
527
- .root_dir = cov.run.step.owner.cache_root,
615
+ .root_dir = cache_root,
528
616
  .sub_path = "v/" ++ std.fmt.hex(cov.id),
529
617
  };
530
618
  var coverage_file = coverage_file_path.root_dir.handle.openFile(io, coverage_file_path.sub_path, .{}) catch |err| {
531
- fatal("step '{s}': failed to load coverage file '{f}': {t}", .{
532
- cov.run.step.name, coverage_file_path, err,
619
+ fatal("step {s}: failed to load coverage file {f}: {t}", .{
620
+ run_step_name, coverage_file_path, err,
533
621
  });
534
622
  };
535
623
  defer coverage_file.close(io);
@@ -540,14 +628,14 @@ pub fn waitAndPrintReport(fuzz: *Fuzz) Io.Cancelable!void {
540
628
 
541
629
  var header: fuzz_abi.SeenPcsHeader = undefined;
542
630
  r.interface.readSliceAll(std.mem.asBytes(&header)) catch |err| {
543
- fatal("step '{s}': failed to read from coverage file '{f}': {t}", .{
544
- cov.run.step.name, coverage_file_path, err,
631
+ fatal("step {s}: failed to read from coverage file {f}: {t}", .{
632
+ run_step_name, coverage_file_path, err,
545
633
  });
546
634
  };
547
635
 
548
636
  if (header.pcs_len == 0) {
549
- fatal("step '{s}': corrupted coverage file '{f}': pcs_len was zero", .{
550
- cov.run.step.name, coverage_file_path,
637
+ fatal("step {s}: corrupted coverage file {f}: pcs_len was zero", .{
638
+ run_step_name, coverage_file_path,
551
639
  });
552
640
  }
553
641
 
@@ -555,8 +643,8 @@ pub fn waitAndPrintReport(fuzz: *Fuzz) Io.Cancelable!void {
555
643
  const chunk_count = fuzz_abi.SeenPcsHeader.seenElemsLen(header.pcs_len);
556
644
  for (0..chunk_count) |_| {
557
645
  const seen = r.interface.takeInt(usize, .little) catch |err| {
558
- fatal("step '{s}': failed to read from coverage file '{f}': {t}", .{
559
- cov.run.step.name, coverage_file_path, err,
646
+ fatal("step {s}: failed to read from coverage file {f}: {t}", .{
647
+ run_step_name, coverage_file_path, err,
560
648
  });
561
649
  };
562
650
  seen_count += @popCount(seen);
@@ -573,8 +661,8 @@ pub fn waitAndPrintReport(fuzz: *Fuzz) Io.Cancelable!void {
573
661
  \\Coverage: {}/{} -> {}/{} ({:.02}%)
574
662
  \\
575
663
  , .{
576
- cov.run.step.name,
577
- cov.run.fuzz_tests.items[0],
664
+ run_step_name,
665
+ run.fuzz_tests.items[0],
578
666
  cov.id,
579
667
  cov.cumulative.runs,
580
668
  header.n_runs,