@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
@@ -0,0 +1,85 @@
1
+ //! Shared maker state among all steps.
2
+ const Graph = @This();
3
+
4
+ const std = @import("std");
5
+ const Io = std.Io;
6
+ const Allocator = std.mem.Allocator;
7
+ const Configuration = std.Build.Configuration;
8
+ const Path = std.Build.Cache.Path;
9
+ const Directory = std.Build.Cache.Directory;
10
+
11
+ io: Io,
12
+ /// Process lifetime.
13
+ arena: Allocator,
14
+ cache: std.Build.Cache,
15
+ zig_exe: []const u8,
16
+ environ_map: std.process.Environ.Map,
17
+ global_cache_root: Directory,
18
+ local_cache_root: Directory,
19
+ zig_lib_directory: Directory,
20
+ build_root_directory: Directory,
21
+
22
+ debug_compiler_runtime_libs: ?std.builtin.OptimizeMode = null,
23
+ incremental: ?bool = null,
24
+ random_seed: u32 = 0,
25
+ allow_so_scripts: ?bool = null,
26
+ time_report: bool = false,
27
+ /// Similar to the `Io.Terminal.Mode` returned by `Io.lockStderr`, but also
28
+ /// respects the '--color' flag.
29
+ stderr_mode: ?Io.Terminal.Mode = null,
30
+ reference_trace: ?u32 = null,
31
+ debug_log_scopes: std.ArrayList([]const u8) = .empty,
32
+ debug_compile_errors: bool = false,
33
+ debug_incremental: bool = false,
34
+ fuzzing: bool = false,
35
+ verbose: bool = false,
36
+ verbose_air: bool = false,
37
+ verbose_cc: bool = false,
38
+ verbose_link: bool = false,
39
+ verbose_llvm_cpu_features: bool = false,
40
+ verbose_llvm_ir: bool = false,
41
+ libc_file: ?[]const u8 = null,
42
+ /// What does this do? Nobody bothered to document it, and I think it's a
43
+ /// smelly option. So unless somebody deletes these passive aggressive comments
44
+ /// and replaces them with actual documentation, I'm going to delete this
45
+ /// option from the build system in a future release. In other words, this is
46
+ /// deprecated due to lack of test coverage, lack of documentation, and a hunch
47
+ /// that it's a bad option that should be avoided.
48
+ sysroot: ?[]const u8 = null,
49
+ search_prefixes: std.ArrayList([]const u8) = .empty,
50
+ build_id: ?std.zig.BuildId = null,
51
+ error_limit: ?u32 = null,
52
+ /// Steps should use `io` to limit the number of jobs, however in the case of
53
+ /// a single step spawning a fixed number of processes this can be used.
54
+ max_jobs: ?u32 = null,
55
+
56
+ /// After following the steps in https://codeberg.org/ziglang/infra/src/branch/master/libc-update/glibc.md,
57
+ /// this will be the directory $glibc-build-dir/install/glibcs
58
+ /// Given the example of the aarch64 target, this is the directory
59
+ /// that contains the path `aarch64-linux-gnu/lib/ld-linux-aarch64.so.1`.
60
+ /// Also works for dynamic musl.
61
+ libc_runtimes_dir: ?[]const u8 = null,
62
+ enable_wine: bool = false,
63
+ enable_qemu: bool = false,
64
+ enable_wasmtime: bool = false,
65
+ enable_darling: bool = false,
66
+ enable_rosetta: bool = false,
67
+
68
+ /// Intention of verbose is to print all sub-process command lines to stderr
69
+ /// before spawning them.
70
+ pub fn handleVerbose(
71
+ graph: *const Graph,
72
+ cwd: ?[]const u8,
73
+ opt_env: ?*const std.process.Environ.Map,
74
+ argv: []const []const u8,
75
+ ) error{OutOfMemory}!void {
76
+ if (!graph.verbose) return;
77
+ const arena = graph.arena;
78
+ const text = try std.zig.allocPrintCmd(arena, argv, .{
79
+ .cwd = cwd,
80
+ .parent_env = &graph.environ_map,
81
+ .child_env = opt_env,
82
+ });
83
+ defer arena.free(text);
84
+ std.log.scoped(.verbose).info("{s}", .{text});
85
+ }
@@ -0,0 +1,114 @@
1
+ const std = @import("std");
2
+ const Io = std.Io;
3
+ const mem = std.mem;
4
+ const assert = std.debug.assert;
5
+
6
+ const Maker = @import("../Maker.zig");
7
+ const Step = @import("Step.zig");
8
+ const Graph = @import("Graph.zig");
9
+
10
+ mutex: Io.Mutex = .init,
11
+ pkgs: ?std.zig.PkgConfig = null,
12
+ debug: bool = false,
13
+
14
+ pub const RunError = error{
15
+ PackageNotFound,
16
+ PkgConfigUnavailable,
17
+ } || Step.ExtendedMakeError;
18
+
19
+ pub const Result = std.zig.PkgConfig.Parsed;
20
+
21
+ /// Run pkg-config for the given library name and parse the output, returning the arguments
22
+ /// that should be passed to zig to link the given library.
23
+ pub fn run(
24
+ maker: *Maker,
25
+ step: *Step,
26
+ progress_node: std.Progress.Node,
27
+ lib_name: []const u8,
28
+ /// If true, reports failure error messages on step rather than returning
29
+ /// error.PackageNotFound or error.PkgConfigUnavailable,
30
+ force: bool,
31
+ ) RunError!Result {
32
+ const pc = &maker.pkg_config;
33
+ const graph = maker.graph;
34
+ const arena = graph.arena; // TODO don't leak into process arena
35
+
36
+ const pkg_config_exe = getExe(graph);
37
+ const pkgs = try getPkgs(maker, step, progress_node, force);
38
+ const found_index = pkgs.find(lib_name) orelse {
39
+ if (force) return step.fail(maker, "{s}: package not found: {s}", .{ pkg_config_exe, lib_name });
40
+ return error.PackageNotFound;
41
+ };
42
+ const pkg = pkgs.all[found_index];
43
+
44
+ const stdout = try captureChildProcess(maker, step, .{
45
+ .argv = &.{ pkg_config_exe, pkg.name, "--cflags", "--libs" },
46
+ .progress_node = progress_node,
47
+ .allow_failure = !force,
48
+ });
49
+
50
+ const parsed = std.zig.PkgConfig.parse(arena, stdout) catch |err| switch (err) {
51
+ error.InvalidPkgConfigOutput => {
52
+ if (force) return step.fail(maker, "{s} package {s} invalid output: {s}", .{
53
+ pkg_config_exe, lib_name, stdout,
54
+ });
55
+ return error.PkgConfigUnavailable;
56
+ },
57
+ else => |e| return e,
58
+ };
59
+ if (force or pc.debug) {
60
+ for (parsed.unknown_flags) |unknown_flag| {
61
+ return step.fail(maker, "{s} package {s} unknown flag: {s}", .{ pkg_config_exe, lib_name, unknown_flag });
62
+ }
63
+ }
64
+
65
+ return parsed;
66
+ }
67
+
68
+ fn getExe(graph: *const Graph) []const u8 {
69
+ return std.zig.PkgConfig.exe(&graph.environ_map);
70
+ }
71
+
72
+ fn getPkgs(maker: *Maker, step: *Step, progress_node: std.Progress.Node, force: bool) RunError!std.zig.PkgConfig {
73
+ const graph = maker.graph;
74
+ const arena = graph.arena; // TODO don't leak into process arena
75
+ const io = graph.io;
76
+ const pc = &maker.pkg_config;
77
+
78
+ try pc.mutex.lock(io);
79
+ defer pc.mutex.unlock(io);
80
+
81
+ if (pc.pkgs) |pkgs| return pkgs;
82
+
83
+ const pkg_config_exe = getExe(graph);
84
+ const stdout = try captureChildProcess(maker, step, .{
85
+ .argv = &.{ pkg_config_exe, "--list-all" },
86
+ .progress_node = progress_node,
87
+ .allow_failure = !force,
88
+ });
89
+
90
+ var diagnostic: std.zig.PkgConfig.Diagnostic = undefined;
91
+ const result = std.zig.PkgConfig.init(arena, stdout, &diagnostic) catch |err| switch (err) {
92
+ error.InvalidPkgConfigOutput => {
93
+ if (force) return step.fail(maker, "{s}: invalid line({d}): {s}", .{
94
+ pkg_config_exe, diagnostic.invalid_line_index + 1, diagnostic.invalid_line,
95
+ });
96
+ return error.PkgConfigUnavailable;
97
+ },
98
+ else => |e| return e,
99
+ };
100
+
101
+ pc.pkgs = result;
102
+ return result;
103
+ }
104
+
105
+ fn captureChildProcess(maker: *Maker, step: *Step, options: Step.CaptureChildProcessOptions) ![]const u8 {
106
+ const captured = step.captureChildProcess(maker, options) catch |err| switch (err) {
107
+ error.FileNotFound => return error.PkgConfigUnavailable,
108
+ else => |e| return e,
109
+ };
110
+ assert(step.result_failed_command != null);
111
+ if (captured.term.success()) return captured.stdout;
112
+ if (!options.allow_failure) return step.fail(maker, "{s} {f}", .{ options.argv[0], captured.term });
113
+ return error.PkgConfigUnavailable;
114
+ }
@@ -0,0 +1,370 @@
1
+ const ScannedConfig = @This();
2
+
3
+ const std = @import("std");
4
+ const Configuration = std.Build.Configuration;
5
+ const Writer = std.Io.Writer;
6
+ const Serializer = std.zon.Serializer;
7
+
8
+ const Graph = @import("Graph.zig");
9
+
10
+ configuration: Configuration,
11
+ top_level_steps: std.StringArrayHashMapUnmanaged(Configuration.Step.Index),
12
+ path: []const u8,
13
+
14
+ pub fn print(sc: *const ScannedConfig, w: *Writer) Writer.Error!void {
15
+ std.log.err("TODO also print paths", .{});
16
+ std.log.err("TODO also print unlazy deps", .{});
17
+ std.log.err("TODO also print system integrations", .{});
18
+ std.log.err("TODO also print available options", .{});
19
+ const c = &sc.configuration;
20
+ var serializer: Serializer = .{ .writer = w };
21
+ var s = try serializer.beginStruct(.{});
22
+
23
+ {
24
+ var tf = try s.beginTupleField("search_prefixes", .{});
25
+ for (c.search_prefixes) |string| try tf.field(string.slice(c), .{});
26
+ try tf.end();
27
+ }
28
+
29
+ try s.field("default_step", @intFromEnum(c.default_step), .{});
30
+ {
31
+ var sf = try s.beginStructField("top_level_steps", .{});
32
+ for (sc.top_level_steps.keys(), sc.top_level_steps.values()) |name, step| {
33
+ try sf.field(name, @intFromEnum(step), .{});
34
+ }
35
+ try sf.end();
36
+ }
37
+
38
+ {
39
+ var tf = try s.beginTupleField("steps", .{});
40
+ for (c.steps) |step| {
41
+ var step_field = try tf.beginStructField(.{});
42
+ try printStruct(sc, &step_field, Configuration.Step, step);
43
+ try step_field.end();
44
+ }
45
+ try tf.end();
46
+ }
47
+
48
+ try s.end();
49
+ }
50
+
51
+ fn printStruct(sc: *const ScannedConfig, s: *Serializer.Struct, comptime S: type, v: S) !void {
52
+ inline for (@typeInfo(S).@"struct".fields) |field| {
53
+ try s.fieldPrefix(field.name);
54
+ try printValue(sc, s.container.serializer, field.type, @field(v, field.name));
55
+ }
56
+ }
57
+
58
+ fn printValue(sc: *const ScannedConfig, s: *Serializer, comptime Field: type, field_value: Field) !void {
59
+ const c = &sc.configuration;
60
+ switch (Field) {
61
+ Configuration.String => {
62
+ try s.value(field_value.slice(c), .{});
63
+ },
64
+ Configuration.Deps.Index => {
65
+ try printValue(sc, s, []const Configuration.Step.Index, field_value.get(c).steps.slice);
66
+ },
67
+ Configuration.MaxRss => {
68
+ try s.value(field_value.toBytes(), .{});
69
+ },
70
+ Configuration.Step.Run.Arg.Index => {
71
+ var sub_struct = try s.beginStruct(.{});
72
+ try printStruct(sc, &sub_struct, Configuration.Step.Run.Arg, field_value.get(c));
73
+ try sub_struct.end();
74
+ },
75
+ Configuration.Step.ObjCopy.UpdateSection.Flags => {
76
+ var sub_struct = try s.beginStruct(.{});
77
+ try printStruct(sc, &sub_struct, Field, field_value);
78
+ try sub_struct.end();
79
+ },
80
+ Configuration.LazyPath.Index => {
81
+ switch (field_value.get(c)) {
82
+ inline else => |u| {
83
+ var sub_struct = try s.beginStruct(.{});
84
+ try printStruct(sc, &sub_struct, @TypeOf(u), u);
85
+ try sub_struct.end();
86
+ },
87
+ }
88
+ },
89
+ else => switch (@typeInfo(Field)) {
90
+ .int => try s.int(field_value),
91
+ .pointer => |info| switch (info.size) {
92
+ .slice => {
93
+ var slice_field = try s.beginTuple(.{});
94
+ for (field_value) |elem| {
95
+ try slice_field.fieldPrefix();
96
+ try printValue(sc, s, info.child, elem);
97
+ }
98
+ try slice_field.end();
99
+ },
100
+ else => comptime unreachable,
101
+ },
102
+ .@"enum" => {
103
+ if (@hasDecl(Field, "storage")) switch (Field.storage) {
104
+ .extended => {
105
+ var sub_struct = try s.beginStruct(.{});
106
+ switch (field_value.get(c.extra)) {
107
+ inline else => |u| {
108
+ try printStruct(sc, &sub_struct, @TypeOf(u), u);
109
+ },
110
+ }
111
+ try sub_struct.end();
112
+ },
113
+ .flag_optional => comptime unreachable,
114
+ .flag_length_prefixed_list => comptime unreachable,
115
+ .enum_optional => comptime unreachable,
116
+ .union_list => comptime unreachable,
117
+ .length_prefixed_list => comptime unreachable,
118
+ .flag_list => comptime unreachable,
119
+ .flag_union => comptime unreachable,
120
+ .multi_list => comptime unreachable,
121
+ } else if (std.enums.tagName(Field, field_value)) |name| {
122
+ try s.ident(name);
123
+ } else {
124
+ try s.int(@intFromEnum(field_value));
125
+ }
126
+ },
127
+ .@"struct" => |info| switch (info.layout) {
128
+ .@"packed" => {
129
+ try s.value(field_value, .{});
130
+ },
131
+ .@"extern" => {
132
+ var sub_struct = try s.beginStruct(.{});
133
+ try printStruct(sc, &sub_struct, Field, field_value);
134
+ try sub_struct.end();
135
+ },
136
+ .auto => switch (Field.storage) {
137
+ .flag_optional, .enum_optional => {
138
+ if (field_value.value) |some| {
139
+ try printValue(sc, s, Field.Value, some);
140
+ } else {
141
+ try s.value(null, .{});
142
+ }
143
+ },
144
+ .length_prefixed_list, .flag_length_prefixed_list, .flag_list => {
145
+ try printValue(sc, s, @TypeOf(field_value.slice), field_value.slice);
146
+ },
147
+ .extended => @compileError("TODO"),
148
+ .union_list => {
149
+ var slice_field = try s.beginTuple(.{});
150
+ for (field_value.slice(c.extra), 0..) |elem, i| switch (field_value.tag(c.extra, i)) {
151
+ inline else => |tag| {
152
+ var sub_struct = try s.beginStruct(.{});
153
+ try sub_struct.fieldPrefix(@tagName(tag));
154
+ try printValue(sc, s, @FieldType(Field.Union, @tagName(tag)), @enumFromInt(elem));
155
+ try sub_struct.end();
156
+ },
157
+ };
158
+ try slice_field.end();
159
+ },
160
+ .flag_union => try printValue(sc, s, Field.Union, field_value.u),
161
+ .multi_list => @compileError("TODO"),
162
+ },
163
+ },
164
+ .@"union" => {
165
+ try printTaggedUnion(sc, s, field_value);
166
+ },
167
+ else => @compileError("not implemented: " ++ @typeName(Field)),
168
+ },
169
+ }
170
+ }
171
+
172
+ fn printTaggedUnion(sc: *const ScannedConfig, s: *Serializer, value: anytype) !void {
173
+ switch (value) {
174
+ inline else => |u, tag| {
175
+ if (@TypeOf(u) == void) {
176
+ try s.ident(@tagName(tag));
177
+ } else {
178
+ var sub_struct = try s.beginStruct(.{});
179
+ try sub_struct.fieldPrefix(@tagName(tag));
180
+ try printValue(sc, s, @TypeOf(u), u);
181
+ try sub_struct.end();
182
+ }
183
+ },
184
+ }
185
+ }
186
+
187
+ pub fn printSteps(sc: *const ScannedConfig, graph: *Graph, w: *Writer) !void {
188
+ const arena = graph.arena;
189
+ const c = &sc.configuration;
190
+ for (sc.top_level_steps.keys(), sc.top_level_steps.values()) |name, step_index| {
191
+ const step = step_index.ptr(c);
192
+ const decorated_name = if (step_index == c.default_step)
193
+ try std.fmt.allocPrint(arena, "{s} (default)", .{name})
194
+ else
195
+ name;
196
+ const top_level = step.extended.get(c.extra).top_level;
197
+ const description = top_level.description.slice(c);
198
+ try w.print(" {s:<28} {s}\n", .{ decorated_name, description });
199
+ }
200
+ }
201
+
202
+ pub fn printUsage(sc: *const ScannedConfig, graph: *Graph, w: *Writer) !void {
203
+ const arena = graph.arena;
204
+
205
+ try w.print(
206
+ \\Usage: {s} build [steps] [options]
207
+ \\
208
+ \\Steps:
209
+ \\
210
+ , .{graph.zig_exe});
211
+ try printSteps(sc, graph, w);
212
+ try w.writeAll(
213
+ \\
214
+ \\Project-Specific Options:
215
+ \\
216
+ );
217
+
218
+ const available_options = sc.configuration.available_options;
219
+ if (available_options.len == 0) {
220
+ try w.print(" (none)\n", .{});
221
+ } else {
222
+ for (available_options) |option| {
223
+ const name = option.name.slice(&sc.configuration);
224
+ const description = option.description.slice(&sc.configuration);
225
+ const help = try std.fmt.allocPrint(arena, " -D{s}=[{t}]", .{ name, option.type });
226
+ try w.print("{s:<30} {s}\n", .{ help, description });
227
+ if (option.enum_options.slice(&sc.configuration)) |enum_options| {
228
+ const padding: [33]u8 = @splat(' ');
229
+ try w.writeAll(padding ++ "Supported Values:\n");
230
+ for (enum_options) |enum_option_index| {
231
+ const enum_option = enum_option_index.slice(&sc.configuration);
232
+ try w.print(padding ++ " {s}\n", .{enum_option});
233
+ }
234
+ }
235
+ }
236
+ }
237
+
238
+ try w.writeAll(
239
+ \\
240
+ \\System Integration Options:
241
+ \\ --search-prefix [path] Add a path to look for binaries, libraries, headers
242
+ \\ --sysroot [path] Set the system root directory (usually /)
243
+ \\ --libc [file] Provide a file which specifies libc paths
244
+ \\
245
+ \\ --system [pkgdir] Disable package fetching; enable all integrations
246
+ \\ -fsys=[name] Enable a system integration
247
+ \\ -fno-sys=[name] Disable a system integration
248
+ \\
249
+ \\ -fdarling, -fno-darling Integration with system-installed Darling to
250
+ \\ execute macOS programs on Linux hosts
251
+ \\ (default: no)
252
+ \\ -fqemu, -fno-qemu Integration with system-installed QEMU to execute
253
+ \\ foreign-architecture programs on Linux hosts
254
+ \\ (default: no)
255
+ \\ --libc-runtimes [path] Enhances QEMU integration by providing dynamic libc
256
+ \\ (e.g. glibc or musl) built for multiple foreign
257
+ \\ architectures, allowing execution of non-native
258
+ \\ programs that link with libc.
259
+ \\ -frosetta, -fno-rosetta Rely on Rosetta to execute x86_64 programs on
260
+ \\ ARM64 macOS hosts. (default: no)
261
+ \\ -fwasmtime, -fno-wasmtime Integration with system-installed wasmtime to
262
+ \\ execute WASI binaries. (default: no)
263
+ \\ -fwine, -fno-wine Integration with system-installed Wine to execute
264
+ \\ Windows programs on Linux hosts. (default: no)
265
+ \\
266
+ \\ Available System Integrations: Enabled:
267
+ \\
268
+ );
269
+ if (sc.configuration.system_integrations.len == 0) {
270
+ try w.writeAll(" (none) -\n");
271
+ } else {
272
+ for (sc.configuration.system_integrations) |system_integration| {
273
+ const name = system_integration.name.slice(&sc.configuration);
274
+ const status = switch (system_integration.status) {
275
+ .disabled => "no",
276
+ .enabled => "yes",
277
+ };
278
+ try w.print(" {s:<43} {s}\n", .{ name, status });
279
+ }
280
+ }
281
+
282
+ try w.writeAll(
283
+ \\
284
+ \\General Options:
285
+ \\ -h, --help Print this help to stdout and exit
286
+ \\ -l, --list-steps Print available steps to stdout and exit
287
+ \\
288
+ \\ -p, --prefix [path] Where to install files (default: zig-out)
289
+ \\ --prefix-lib-dir [path] Where to install libraries
290
+ \\ --prefix-exe-dir [path] Where to install executables
291
+ \\ --prefix-include-dir [path] Where to install C header files
292
+ \\ --release[=mode] Request release mode, optionally specifying a
293
+ \\ preferred optimization mode: fast, safe, small
294
+ \\
295
+ \\ --verbose Print commands before executing them
296
+ \\ --color [auto|off|on] Enable or disable colored error messages
297
+ \\ --error-style [style] Control how build errors are printed
298
+ \\ verbose (Default) Report errors with full context
299
+ \\ minimal Report errors after summary, excluding context like command lines
300
+ \\ verbose_clear Like 'verbose', but clear the terminal at the start of each update
301
+ \\ minimal_clear Like 'minimal', but clear the terminal at the start of each update
302
+ \\ --multiline-errors [style] Control how multi-line error messages are printed
303
+ \\ indent (Default) Indent non-initial lines to align with initial line
304
+ \\ newline Include a leading newline so that the error message is on its own lines
305
+ \\ none Print as usual so the first line is misaligned
306
+ \\ --summary [mode] Control the printing of the build summary
307
+ \\ all Print the build summary in its entirety
308
+ \\ new Omit cached steps
309
+ \\ failures (Default if short-lived) Only print failed steps
310
+ \\ line (Default if long-lived) Only print the single-line summary
311
+ \\ none Do not print the build summary
312
+ \\ -j<N> Limit concurrent jobs (default is to use all CPU cores)
313
+ \\ --maxrss <bytes> Limit memory usage (default is to use available memory)
314
+ \\ --skip-oom-steps Instead of failing, skip steps that would exceed --maxrss
315
+ \\ --test-timeout <timeout> Limit execution time of unit tests, terminating if exceeded.
316
+ \\ The timeout must include a unit: ns, us, ms, s, m, h
317
+ \\ --watch Continuously rebuild when source files are modified
318
+ \\ --debounce <ms> Delay before rebuilding after changed file detected
319
+ \\ --webui[=ip] Enable the web interface on the given IP address
320
+ \\ --fuzz[=limit] Continuously search for unit test failures with an optional
321
+ \\ limit to the max number of iterations. The argument supports
322
+ \\ an optional 'K', 'M', or 'G' suffix (e.g. '10K'). Implies
323
+ \\ '--webui' when no limit is specified.
324
+ \\ --time-report Force full rebuild and provide detailed information on
325
+ \\ compilation time of Zig source code (implies '--webui')
326
+ \\ -fincremental Enable incremental compilation
327
+ \\ -fno-incremental Disable incremental compilation
328
+ \\
329
+ \\Package Management Options:
330
+ \\ --fetch[=mode] Fetch dependency tree (optionally choose laziness) and exit
331
+ \\ needed (Default) Lazy dependencies are fetched as needed
332
+ \\ all Lazy dependencies are always fetched
333
+ \\ --fork=[path], --fork [path] Override one or more projects from dependency tree
334
+ \\
335
+ \\Advanced Options:
336
+ \\ -freference-trace[=num] How many lines of reference trace should be shown per compile error
337
+ \\ -fno-reference-trace Disable reference trace
338
+ \\ -fallow-so-scripts Allows .so files to be GNU ld scripts
339
+ \\ -fno-allow-so-scripts (default) .so files must be ELF files
340
+ \\ --error-limit [num] Set the maximum amount of distinct error values
341
+ \\ --build-file [file] Override path to build.zig
342
+ \\ --cache-dir [path] Override path to local Zig cache directory
343
+ \\ --global-cache-dir [path] Override path to global Zig cache directory
344
+ \\ --zig-lib-dir [arg] Override path to Zig lib directory
345
+ \\ --seed [integer] For shuffling dependency traversal order (default: random)
346
+ \\ --cache-poison[=mode] Override configuration caching behavior
347
+ \\ pure (default) Avoid false positive cache hits
348
+ \\ poisoned Don't cache the configuration
349
+ \\ disallowed Panics when cache would be poisoned
350
+ \\ ignored A little poison never hurt anybody
351
+ \\ --print-configuration Render configuration as .zon to stdout
352
+ \\ --build-id[=style] At a minor link-time expense, embeds a build ID in binaries
353
+ \\ fast 8-byte non-cryptographic hash (COFF, ELF, WASM)
354
+ \\ sha1, tree 20-byte cryptographic hash (ELF, WASM)
355
+ \\ md5 16-byte cryptographic hash (ELF)
356
+ \\ uuid 16-byte random UUID (ELF, WASM)
357
+ \\ 0x[hexstring] Constant ID, maximum 32 bytes (ELF, WASM)
358
+ \\ none (default) No build ID
359
+ \\ --debug-log [scope] Enable debugging the compiler
360
+ \\ --debug-pkg-config Fail if unknown pkg-config flags encountered
361
+ \\ --maker-opt=[mode] Change maker executable optimization mode (default: ReleaseSafe)
362
+ \\ --verbose-link Enable compiler debug output for linking
363
+ \\ --verbose-air Enable compiler debug output for Zig AIR
364
+ \\ --verbose-llvm-ir Enable compiler debug output for LLVM IR
365
+ \\ --verbose-cimport Enable compiler debug output for C imports
366
+ \\ --verbose-cc Enable compiler debug output for C compilation
367
+ \\ --verbose-llvm-cpu-features Enable compiler debug output for LLVM CPU features
368
+ \\
369
+ );
370
+ }
@@ -0,0 +1,63 @@
1
+ const CheckFile = @This();
2
+
3
+ const std = @import("std");
4
+ const Io = std.Io;
5
+ const Configuration = std.Build.Configuration;
6
+
7
+ const Step = @import("../Step.zig");
8
+ const Maker = @import("../../Maker.zig");
9
+
10
+ pub fn make(
11
+ check_file: *CheckFile,
12
+ step_index: Configuration.Step.Index,
13
+ maker: *Maker,
14
+ progress_node: std.Progress.Node,
15
+ ) Step.ExtendedMakeError!void {
16
+ _ = check_file;
17
+ _ = progress_node;
18
+ const graph = maker.graph;
19
+ const arena = maker.graph.arena; // TODO don't leak into process arena
20
+ const io = graph.io;
21
+ const step = maker.stepByIndex(step_index);
22
+ const conf = &maker.scanned_config.configuration;
23
+ const conf_step = step_index.ptr(conf);
24
+ const conf_cf = conf_step.extended.get(conf.extra).check_file;
25
+ const lazy_path = conf_cf.file.get(conf);
26
+
27
+ try step.singleUnchangingWatchInput(maker, arena, lazy_path);
28
+
29
+ const src_path = try maker.resolveLazyPath(arena, lazy_path, step_index);
30
+ const limit: Io.Limit = if (conf_cf.max_bytes.value) |x| .limited(x) else .unlimited;
31
+
32
+ const contents = src_path.root_dir.handle.readFileAlloc(io, src_path.sub_path, arena, limit) catch |err|
33
+ return step.fail(maker, "failed to read {f}: {t}", .{ src_path, err });
34
+
35
+ for (conf_cf.expected_matches.slice) |expected_match_index| {
36
+ const expected_match = expected_match_index.slice(conf);
37
+ if (std.mem.find(u8, contents, expected_match) == null) {
38
+ return step.fail(maker,
39
+ \\
40
+ \\========= expected to find: ===================
41
+ \\{s}
42
+ \\========= but file does not contain it: =======
43
+ \\{s}
44
+ \\===============================================
45
+ , .{ expected_match, contents });
46
+ }
47
+ }
48
+
49
+ if (conf_cf.expected_exact.value) |expected_exact_index| {
50
+ const expected_exact = expected_exact_index.slice(conf);
51
+ if (!std.mem.eql(u8, expected_exact, contents)) {
52
+ return step.fail(maker,
53
+ \\
54
+ \\========= expected: =====================
55
+ \\{s}
56
+ \\========= but found: ====================
57
+ \\{s}
58
+ \\========= from the following file: ======
59
+ \\{f}
60
+ , .{ expected_exact, contents, src_path });
61
+ }
62
+ }
63
+ }