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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1231) hide show
  1. package/c/fcntl.zig +5 -0
  2. package/c/inttypes.zig +0 -10
  3. package/c/math.zig +52 -112
  4. package/c/pthread.zig +57 -0
  5. package/c/search.zig +1 -27
  6. package/c/stdlib/drand48.zig +0 -57
  7. package/c/stdlib.zig +31 -121
  8. package/c/string.zig +20 -7
  9. package/c/strings.zig +0 -38
  10. package/c/unistd.zig +28 -26
  11. package/c/wchar.zig +10 -0
  12. package/c.zig +2 -2
  13. package/compiler/aro/aro/CodeGen.zig +7 -8
  14. package/compiler/aro/aro/Compilation.zig +17 -17
  15. package/compiler/aro/aro/Driver.zig +14 -13
  16. package/compiler/aro/aro/Parser.zig +20 -15
  17. package/compiler/aro/aro/Pragma.zig +3 -2
  18. package/compiler/aro/aro/Preprocessor.zig +11 -8
  19. package/compiler/aro/aro/pragmas/message.zig +3 -2
  20. package/compiler/aro/aro/text_literal.zig +3 -2
  21. package/compiler/aro/assembly_backend/x86_64.zig +4 -4
  22. package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
  23. package/compiler/build_runner.zig +5 -5
  24. package/compiler/reduce/Walk.zig +8 -13
  25. package/compiler/resinator/compile.zig +1 -1
  26. package/compiler/resinator/cvtres.zig +4 -4
  27. package/compiler/resinator/errors.zig +7 -7
  28. package/compiler/resinator/ico.zig +4 -4
  29. package/compiler/resinator/parse.zig +2 -2
  30. package/compiler/resinator/res.zig +1 -1
  31. package/compiler/std-docs.zig +1 -1
  32. package/compiler/test_runner.zig +25 -15
  33. package/compiler/translate-c/MacroTranslator.zig +1 -1
  34. package/compiler/translate-c/Translator.zig +6 -2
  35. package/compiler/translate-c/ast.zig +16 -23
  36. package/compiler/translate-c/main.zig +1 -1
  37. package/compiler_rt/addf3.zig +1 -1
  38. package/compiler_rt/arm.zig +3 -3
  39. package/compiler_rt/atomics.zig +1 -1
  40. package/compiler_rt/comparef.zig +3 -3
  41. package/compiler_rt/cos.zig +1 -3
  42. package/compiler_rt/count0bits.zig +1 -1
  43. package/compiler_rt/divdf3.zig +2 -2
  44. package/compiler_rt/divsf3.zig +1 -1
  45. package/compiler_rt/divtf3.zig +1 -1
  46. package/compiler_rt/divxf3.zig +1 -1
  47. package/compiler_rt/exp.zig +0 -2
  48. package/compiler_rt/exp2.zig +0 -2
  49. package/compiler_rt/extendf.zig +5 -5
  50. package/compiler_rt/fabs.zig +1 -3
  51. package/compiler_rt/float_from_int.zig +4 -5
  52. package/compiler_rt/fma.zig +0 -2
  53. package/compiler_rt/fmax.zig +1 -3
  54. package/compiler_rt/fmin.zig +1 -3
  55. package/compiler_rt/fmod.zig +2 -4
  56. package/compiler_rt/int_from_float.zig +1 -1
  57. package/compiler_rt/limb64.zig +3 -2
  58. package/compiler_rt/log.zig +0 -2
  59. package/compiler_rt/log10.zig +0 -2
  60. package/compiler_rt/log2.zig +0 -2
  61. package/compiler_rt/mulf3.zig +2 -2
  62. package/compiler_rt/rem_pio2l.zig +1 -1
  63. package/compiler_rt/round.zig +0 -2
  64. package/compiler_rt/sin.zig +1 -3
  65. package/compiler_rt/sincos.zig +1 -3
  66. package/compiler_rt/sqrt.zig +0 -2
  67. package/compiler_rt/ssp.zig +2 -2
  68. package/compiler_rt/tan.zig +1 -3
  69. package/compiler_rt/trunc.zig +0 -2
  70. package/compiler_rt/truncf.zig +3 -3
  71. package/compiler_rt/trunctfhf2.zig +3 -0
  72. package/compiler_rt.zig +5 -26
  73. package/docs/main.js +8 -8
  74. package/docs/wasm/Walk.zig +1 -3
  75. package/docs/wasm/html_render.zig +1 -2
  76. package/docs/wasm/markdown/Parser.zig +16 -20
  77. package/fuzzer.zig +5 -3
  78. package/include/__clang_spirv_builtins.h +12 -12
  79. package/include/__float_float.h +176 -0
  80. package/include/__float_header_macro.h +12 -0
  81. package/include/__float_infinity_nan.h +20 -0
  82. package/include/amo.h +131 -0
  83. package/include/amxavx512intrin.h +215 -1
  84. package/include/amxintrin.h +0 -2
  85. package/include/arm_acle.h +37 -27
  86. package/include/arm_neon.h +218 -82
  87. package/include/arm_sme.h +8 -8
  88. package/include/arm_sve.h +4162 -3782
  89. package/include/avx10_2_512bf16intrin.h +19 -12
  90. package/include/avx10_2_512convertintrin.h +1 -1
  91. package/include/avx10_2_512niintrin.h +31 -31
  92. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  93. package/include/avx10_2bf16intrin.h +54 -45
  94. package/include/avx10_2convertintrin.h +2 -2
  95. package/include/avx10_2copyintrin.h +1 -1
  96. package/include/avx10_2niintrin.h +14 -14
  97. package/include/avx10_2satcvtdsintrin.h +2 -2
  98. package/include/avx2intrin.h +275 -377
  99. package/include/avx512bf16intrin.h +25 -16
  100. package/include/avx512bitalgintrin.h +19 -30
  101. package/include/avx512bwintrin.h +386 -505
  102. package/include/avx512cdintrin.h +42 -55
  103. package/include/avx512dqintrin.h +132 -161
  104. package/include/avx512fintrin.h +1015 -1424
  105. package/include/avx512fp16intrin.h +112 -110
  106. package/include/avx512ifmaintrin.h +32 -34
  107. package/include/avx512ifmavlintrin.h +73 -46
  108. package/include/avx512vbmi2intrin.h +43 -32
  109. package/include/avx512vbmiintrin.h +19 -27
  110. package/include/avx512vbmivlintrin.h +35 -49
  111. package/include/avx512vlbf16intrin.h +32 -22
  112. package/include/avx512vlbitalgintrin.h +37 -53
  113. package/include/avx512vlbwintrin.h +470 -573
  114. package/include/avx512vlcdintrin.h +74 -102
  115. package/include/avx512vldqintrin.h +110 -127
  116. package/include/avx512vlfp16intrin.h +130 -111
  117. package/include/avx512vlintrin.h +945 -1299
  118. package/include/avx512vlvbmi2intrin.h +78 -63
  119. package/include/avx512vlvnniintrin.h +21 -18
  120. package/include/avx512vlvp2intersectintrin.h +2 -2
  121. package/include/avx512vnniintrin.h +10 -10
  122. package/include/avx512vp2intersectintrin.h +1 -2
  123. package/include/avx512vpopcntdqintrin.h +8 -10
  124. package/include/avx512vpopcntdqvlintrin.h +17 -15
  125. package/include/avxifmaintrin.h +16 -0
  126. package/include/avxintrin.h +165 -241
  127. package/include/avxvnniint16intrin.h +118 -99
  128. package/include/avxvnniint8intrin.h +56 -32
  129. package/include/avxvnniintrin.h +16 -8
  130. package/include/cpuid.h +101 -4
  131. package/include/emmintrin.h +168 -168
  132. package/include/f16cintrin.h +23 -9
  133. package/include/float.h +16 -155
  134. package/include/fma4intrin.h +98 -96
  135. package/include/fmaintrin.h +96 -66
  136. package/include/gfniintrin.h +21 -16
  137. package/include/hexagon_types.h +23 -20
  138. package/include/hvx_hexagon_protos.h +649 -860
  139. package/include/immintrin.h +0 -12
  140. package/include/intrin.h +4 -0
  141. package/include/lasxintrin.h +113 -0
  142. package/include/llvm_libc_wrappers/assert.h +3 -5
  143. package/include/llvm_libc_wrappers/ctype.h +3 -115
  144. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  145. package/include/llvm_libc_wrappers/stdio.h +10 -38
  146. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  147. package/include/llvm_libc_wrappers/string.h +2 -70
  148. package/include/llvm_libc_wrappers/time.h +4 -10
  149. package/include/mmintrin.h +188 -257
  150. package/include/module.modulemap +23 -4
  151. package/include/movrs_avx10_2_512intrin.h +2 -2
  152. package/include/movrs_avx10_2intrin.h +4 -4
  153. package/include/pmmintrin.h +12 -24
  154. package/include/ptrauth.h +16 -2
  155. package/include/riscv_mips.h +34 -0
  156. package/include/riscv_nds.h +89 -0
  157. package/include/sifive_vector.h +58 -2
  158. package/include/sm4evexintrin.h +2 -2
  159. package/include/smmintrin.h +77 -59
  160. package/include/spirvintrin.h +194 -0
  161. package/include/stddefer.h +19 -0
  162. package/include/tmmintrin.h +116 -147
  163. package/include/vaesintrin.h +1 -2
  164. package/include/xmmintrin.h +44 -70
  165. package/include/xopintrin.h +20 -10
  166. package/libc/darwin/SDKSettings.json +1 -1
  167. package/libc/darwin/libSystem.tbd +88 -87
  168. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  169. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  170. package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
  171. package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
  172. package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
  173. package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
  174. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  175. package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
  176. package/libc/include/any-darwin-any/mach/host_info.h +3 -1
  177. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
  178. package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
  179. package/libc/include/any-darwin-any/spawn.h +3 -1
  180. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
  181. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  182. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  183. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  184. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  185. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  186. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  187. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  188. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  189. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  190. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  191. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  192. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  193. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  194. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  195. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  196. package/libc/include/any-linux-any/linux/elf.h +2 -0
  197. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  198. package/libc/include/any-linux-any/linux/fs.h +1 -0
  199. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  200. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  201. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  202. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  203. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  204. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  205. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  206. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  207. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  208. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  209. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  210. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  211. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  212. package/libc/include/any-linux-any/linux/magic.h +1 -0
  213. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  214. package/libc/include/any-linux-any/linux/mount.h +11 -2
  215. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  216. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  217. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  218. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  219. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  220. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  221. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  222. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  223. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  224. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  225. package/libc/include/any-linux-any/linux/pci.h +7 -0
  226. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  227. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  228. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  229. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  230. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  231. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  232. package/libc/include/any-linux-any/linux/shm.h +0 -1
  233. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  234. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  235. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  236. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  237. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  238. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  239. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  240. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  241. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  242. package/libc/include/any-linux-any/linux/version.h +3 -3
  243. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  244. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  245. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  246. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  247. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  248. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  249. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  250. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  251. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  252. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  253. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  254. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  255. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  256. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  257. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  258. package/libc/include/generic-openbsd/db.h +1 -7
  259. package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
  260. package/libc/include/generic-openbsd/fnmatch.h +6 -2
  261. package/libc/include/generic-openbsd/login_cap.h +3 -1
  262. package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
  263. package/libc/include/generic-openbsd/net/bpf.h +3 -1
  264. package/libc/include/generic-openbsd/net/hfsc.h +4 -4
  265. package/libc/include/generic-openbsd/net/if.h +5 -1
  266. package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
  267. package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
  268. package/libc/include/generic-openbsd/net/if_media.h +26 -1
  269. package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
  270. package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
  271. package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
  272. package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
  273. package/libc/include/generic-openbsd/net/if_types.h +2 -2
  274. package/libc/include/generic-openbsd/net/if_var.h +34 -12
  275. package/libc/include/generic-openbsd/net/netisr.h +1 -3
  276. package/libc/include/generic-openbsd/net/pfvar.h +154 -1
  277. package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
  278. package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
  279. package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
  280. package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
  281. package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
  282. package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
  283. package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
  284. package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
  285. package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
  286. package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
  287. package/libc/include/generic-openbsd/netinet/ip.h +3 -2
  288. package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
  289. package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
  290. package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
  291. package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
  292. package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
  293. package/libc/include/generic-openbsd/pthread.h +2 -2
  294. package/libc/include/generic-openbsd/signal.h +2 -2
  295. package/libc/include/generic-openbsd/sndio.h +6 -12
  296. package/libc/include/generic-openbsd/strings.h +5 -1
  297. package/libc/include/generic-openbsd/sys/device.h +4 -3
  298. package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
  299. package/libc/include/generic-openbsd/sys/dkio.h +3 -5
  300. package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
  301. package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
  302. package/libc/include/generic-openbsd/sys/mman.h +7 -2
  303. package/libc/include/generic-openbsd/sys/mutex.h +10 -7
  304. package/libc/include/generic-openbsd/sys/namei.h +8 -7
  305. package/libc/include/generic-openbsd/sys/param.h +1 -1
  306. package/libc/include/generic-openbsd/sys/pledge.h +1 -3
  307. package/libc/include/generic-openbsd/sys/protosw.h +8 -1
  308. package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
  309. package/libc/include/generic-openbsd/sys/sched.h +8 -1
  310. package/libc/include/generic-openbsd/sys/signal.h +4 -2
  311. package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
  312. package/libc/include/generic-openbsd/sys/sockio.h +11 -1
  313. package/libc/include/generic-openbsd/sys/syscall.h +5 -3
  314. package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
  315. package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
  316. package/libc/include/generic-openbsd/sys/types.h +6 -2
  317. package/libc/include/generic-openbsd/sys/videoio.h +143 -68
  318. package/libc/include/generic-openbsd/sys/xcall.h +2 -2
  319. package/libc/include/generic-openbsd/time.h +2 -2
  320. package/libc/include/generic-openbsd/unistd.h +2 -2
  321. package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
  322. package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
  323. package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
  324. package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
  325. package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
  326. package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
  327. package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
  328. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  329. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  330. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  331. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  332. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  333. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  334. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  335. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  336. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  337. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  338. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  339. package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
  340. package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
  341. package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
  342. package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
  343. package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
  344. package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
  345. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  346. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  347. package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
  348. package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
  349. package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
  350. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  351. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  352. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  353. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  354. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  355. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  356. package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
  357. package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
  358. package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
  359. package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
  360. package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
  361. package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
  362. package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
  363. package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
  364. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  365. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  366. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  367. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  368. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  369. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  370. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  371. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  372. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  373. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  374. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  375. package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
  376. package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
  377. package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
  378. package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
  379. package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
  380. package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
  381. package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
  382. package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
  383. package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
  384. package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
  385. package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
  386. package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
  387. package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
  388. package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
  389. package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
  390. package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
  391. package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
  392. package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
  393. package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
  394. package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
  395. package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
  396. package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
  397. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  398. package/libc/openbsd/abilists +0 -0
  399. package/libcxx/include/__algorithm/all_of.h +11 -5
  400. package/libcxx/include/__algorithm/comp.h +4 -0
  401. package/libcxx/include/__algorithm/copy.h +28 -147
  402. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  403. package/libcxx/include/__algorithm/copy_n.h +50 -16
  404. package/libcxx/include/__algorithm/count.h +2 -2
  405. package/libcxx/include/__algorithm/equal.h +43 -55
  406. package/libcxx/include/__algorithm/fill.h +26 -8
  407. package/libcxx/include/__algorithm/fill_n.h +32 -46
  408. package/libcxx/include/__algorithm/find.h +96 -39
  409. package/libcxx/include/__algorithm/find_end.h +105 -0
  410. package/libcxx/include/__algorithm/for_each.h +18 -24
  411. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  412. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  413. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  414. package/libcxx/include/__algorithm/generate.h +4 -2
  415. package/libcxx/include/__algorithm/generate_n.h +19 -6
  416. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  417. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  418. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  419. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  420. package/libcxx/include/__algorithm/make_heap.h +16 -4
  421. package/libcxx/include/__algorithm/mismatch.h +2 -2
  422. package/libcxx/include/__algorithm/move.h +8 -19
  423. package/libcxx/include/__algorithm/move_backward.h +9 -24
  424. package/libcxx/include/__algorithm/none_of.h +4 -4
  425. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  426. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  427. package/libcxx/include/__algorithm/pstl.h +9 -9
  428. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  429. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  430. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  431. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  432. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  433. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  434. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  435. package/libcxx/include/__algorithm/rotate.h +27 -44
  436. package/libcxx/include/__algorithm/search_n.h +49 -37
  437. package/libcxx/include/__algorithm/sift_down.h +19 -18
  438. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  439. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  440. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  441. package/libcxx/include/__assertion_handler +31 -4
  442. package/libcxx/include/__atomic/atomic.h +36 -60
  443. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  444. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  445. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  446. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  447. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  448. package/libcxx/include/__atomic/contention_t.h +27 -3
  449. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  450. package/libcxx/include/__bit/countl.h +1 -2
  451. package/libcxx/include/__bit/countr.h +1 -2
  452. package/libcxx/include/__bit/has_single_bit.h +1 -1
  453. package/libcxx/include/__bit/popcount.h +0 -1
  454. package/libcxx/include/__bit/rotate.h +15 -26
  455. package/libcxx/include/__bit_reference +207 -18
  456. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  457. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  458. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  459. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  460. package/libcxx/include/__charconv/traits.h +3 -24
  461. package/libcxx/include/__chrono/day.h +11 -0
  462. package/libcxx/include/__chrono/duration.h +58 -33
  463. package/libcxx/include/__chrono/file_clock.h +4 -2
  464. package/libcxx/include/__chrono/is_clock.h +72 -0
  465. package/libcxx/include/__chrono/leap_second.h +13 -0
  466. package/libcxx/include/__chrono/month.h +13 -0
  467. package/libcxx/include/__chrono/month_weekday.h +22 -0
  468. package/libcxx/include/__chrono/monthday.h +20 -0
  469. package/libcxx/include/__chrono/steady_clock.h +1 -1
  470. package/libcxx/include/__chrono/system_clock.h +3 -3
  471. package/libcxx/include/__chrono/time_point.h +37 -13
  472. package/libcxx/include/__chrono/weekday.h +25 -0
  473. package/libcxx/include/__chrono/year.h +11 -0
  474. package/libcxx/include/__chrono/year_month.h +13 -0
  475. package/libcxx/include/__chrono/year_month_day.h +23 -0
  476. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  477. package/libcxx/include/__chrono/zoned_time.h +16 -0
  478. package/libcxx/include/__compare/is_eq.h +6 -6
  479. package/libcxx/include/__compare/strong_order.h +12 -30
  480. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  481. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  482. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  483. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  484. package/libcxx/include/__config +63 -280
  485. package/libcxx/include/__configuration/abi.h +14 -24
  486. package/libcxx/include/__configuration/availability.h +65 -118
  487. package/libcxx/include/__configuration/compiler.h +6 -6
  488. package/libcxx/include/__configuration/experimental.h +38 -0
  489. package/libcxx/include/__configuration/hardening.h +215 -0
  490. package/libcxx/include/__configuration/language.h +3 -0
  491. package/libcxx/include/__configuration/platform.h +9 -16
  492. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  493. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  494. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  495. package/libcxx/include/__exception/exception.h +6 -4
  496. package/libcxx/include/__exception/exception_ptr.h +27 -5
  497. package/libcxx/include/__exception/nested_exception.h +2 -2
  498. package/libcxx/include/__exception/operations.h +5 -5
  499. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  500. package/libcxx/include/__expected/expected.h +62 -64
  501. package/libcxx/include/__expected/unexpected.h +4 -4
  502. package/libcxx/include/__filesystem/copy_options.h +4 -4
  503. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  504. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  505. package/libcxx/include/__filesystem/directory_options.h +7 -4
  506. package/libcxx/include/__filesystem/file_status.h +3 -3
  507. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  508. package/libcxx/include/__filesystem/operations.h +97 -66
  509. package/libcxx/include/__filesystem/path.h +68 -64
  510. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  511. package/libcxx/include/__filesystem/perm_options.h +4 -4
  512. package/libcxx/include/__filesystem/perms.h +4 -4
  513. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  514. package/libcxx/include/__filesystem/space_info.h +1 -1
  515. package/libcxx/include/__filesystem/u8path.h +12 -14
  516. package/libcxx/include/__flat_map/flat_map.h +88 -71
  517. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  518. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  519. package/libcxx/include/__flat_map/utils.h +1 -0
  520. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  521. package/libcxx/include/__flat_set/flat_set.h +86 -68
  522. package/libcxx/include/__format/concepts.h +0 -14
  523. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  524. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  525. package/libcxx/include/__format/format_arg.h +7 -10
  526. package/libcxx/include/__format/format_args.h +1 -1
  527. package/libcxx/include/__format/format_context.h +5 -5
  528. package/libcxx/include/__format/format_parse_context.h +2 -2
  529. package/libcxx/include/__format/formatter_output.h +30 -34
  530. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  531. package/libcxx/include/__format/range_default_formatter.h +2 -41
  532. package/libcxx/include/__format/range_format.h +71 -0
  533. package/libcxx/include/__format/range_formatter.h +1 -0
  534. package/libcxx/include/__format/width_estimation_table.h +4 -2
  535. package/libcxx/include/__functional/bind.h +10 -15
  536. package/libcxx/include/__functional/bind_back.h +1 -1
  537. package/libcxx/include/__functional/bind_front.h +1 -1
  538. package/libcxx/include/__functional/function.h +57 -75
  539. package/libcxx/include/__functional/hash.h +1 -10
  540. package/libcxx/include/__functional/identity.h +1 -1
  541. package/libcxx/include/__functional/is_transparent.h +8 -0
  542. package/libcxx/include/__functional/mem_fn.h +2 -1
  543. package/libcxx/include/__functional/operations.h +18 -0
  544. package/libcxx/include/__functional/ranges_operations.h +7 -0
  545. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  546. package/libcxx/include/__functional/weak_result_type.h +14 -28
  547. package/libcxx/include/__fwd/ios.h +1 -1
  548. package/libcxx/include/__fwd/tuple.h +14 -0
  549. package/libcxx/include/__hash_table +371 -357
  550. package/libcxx/include/__ios/fpos.h +4 -4
  551. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  552. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  553. package/libcxx/include/__iterator/concepts.h +6 -9
  554. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  555. package/libcxx/include/__iterator/distance.h +40 -18
  556. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  557. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  558. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  559. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  560. package/libcxx/include/__iterator/iter_move.h +1 -1
  561. package/libcxx/include/__iterator/iterator.h +13 -0
  562. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  563. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  564. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  565. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  566. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  567. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  568. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  569. package/libcxx/include/__locale +3 -10
  570. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  571. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  572. package/libcxx/include/__locale_dir/messages.h +1 -1
  573. package/libcxx/include/__locale_dir/money.h +2 -2
  574. package/libcxx/include/__locale_dir/num.h +190 -243
  575. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  576. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  577. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  578. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  579. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  580. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  581. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  582. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  583. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  584. package/libcxx/include/__locale_dir/time.h +3 -7
  585. package/libcxx/include/__math/hypot.h +1 -1
  586. package/libcxx/include/__math/logarithms.h +1 -1
  587. package/libcxx/include/__math/traits.h +80 -11
  588. package/libcxx/include/__mdspan/extents.h +7 -4
  589. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  590. package/libcxx/include/__mdspan/mdspan.h +29 -23
  591. package/libcxx/include/__memory/addressof.h +7 -5
  592. package/libcxx/include/__memory/align.h +18 -1
  593. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  594. package/libcxx/include/__memory/allocator.h +14 -26
  595. package/libcxx/include/__memory/allocator_traits.h +6 -4
  596. package/libcxx/include/__memory/compressed_pair.h +15 -9
  597. package/libcxx/include/__memory/construct_at.h +12 -23
  598. package/libcxx/include/__memory/inout_ptr.h +1 -1
  599. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  600. package/libcxx/include/__memory/out_ptr.h +1 -1
  601. package/libcxx/include/__memory/pointer_traits.h +1 -1
  602. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  603. package/libcxx/include/__memory/shared_count.h +9 -30
  604. package/libcxx/include/__memory/shared_ptr.h +100 -145
  605. package/libcxx/include/__memory/temp_value.h +1 -2
  606. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  607. package/libcxx/include/__memory/unique_ptr.h +14 -16
  608. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  609. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  610. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  611. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  612. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  613. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  614. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  615. package/libcxx/include/__mutex/mutex.h +2 -2
  616. package/libcxx/include/__mutex/once_flag.h +14 -11
  617. package/libcxx/include/__mutex/tag_types.h +3 -3
  618. package/libcxx/include/__mutex/unique_lock.h +8 -7
  619. package/libcxx/include/__new/align_val_t.h +6 -0
  620. package/libcxx/include/__new/allocate.h +1 -2
  621. package/libcxx/include/__new/exceptions.h +8 -2
  622. package/libcxx/include/__new/global_new_delete.h +4 -11
  623. package/libcxx/include/__new/interference_size.h +0 -4
  624. package/libcxx/include/__new/launder.h +3 -5
  625. package/libcxx/include/__new/nothrow_t.h +1 -1
  626. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  627. package/libcxx/include/__numeric/midpoint.h +9 -14
  628. package/libcxx/include/__numeric/pstl.h +2 -2
  629. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  630. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  631. package/libcxx/include/__pstl/backends/default.h +14 -14
  632. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  633. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  634. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  635. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  636. package/libcxx/include/__random/binomial_distribution.h +10 -4
  637. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  638. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  639. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  640. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  641. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  642. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  643. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  644. package/libcxx/include/__ranges/common_view.h +7 -7
  645. package/libcxx/include/__ranges/drop_view.h +8 -8
  646. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  647. package/libcxx/include/__ranges/elements_of.h +49 -0
  648. package/libcxx/include/__ranges/empty_view.h +5 -5
  649. package/libcxx/include/__ranges/filter_view.h +10 -10
  650. package/libcxx/include/__ranges/iota_view.h +41 -22
  651. package/libcxx/include/__ranges/owning_view.h +15 -15
  652. package/libcxx/include/__ranges/ref_view.h +6 -6
  653. package/libcxx/include/__ranges/repeat_view.h +17 -10
  654. package/libcxx/include/__ranges/single_view.h +8 -8
  655. package/libcxx/include/__ranges/take_view.h +9 -9
  656. package/libcxx/include/__ranges/transform_view.h +1 -2
  657. package/libcxx/include/__ranges/view_interface.h +10 -10
  658. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  659. package/libcxx/include/__ranges/zip_view.h +20 -20
  660. package/libcxx/include/__split_buffer +612 -240
  661. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  662. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  663. package/libcxx/include/__stop_token/stop_source.h +1 -1
  664. package/libcxx/include/__stop_token/stop_state.h +4 -4
  665. package/libcxx/include/__stop_token/stop_token.h +1 -1
  666. package/libcxx/include/__string/char_traits.h +51 -31
  667. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  668. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  669. package/libcxx/include/__system_error/error_category.h +8 -8
  670. package/libcxx/include/__system_error/error_code.h +5 -5
  671. package/libcxx/include/__system_error/error_condition.h +4 -4
  672. package/libcxx/include/__system_error/system_error.h +1 -1
  673. package/libcxx/include/__thread/id.h +1 -1
  674. package/libcxx/include/__thread/jthread.h +1 -1
  675. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  676. package/libcxx/include/__thread/support/c11.h +8 -8
  677. package/libcxx/include/__thread/support/pthread.h +8 -8
  678. package/libcxx/include/__thread/support/windows.h +8 -8
  679. package/libcxx/include/__thread/thread.h +13 -8
  680. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  681. package/libcxx/include/__tree +849 -701
  682. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  683. package/libcxx/include/__tuple/tuple_element.h +0 -12
  684. package/libcxx/include/__tuple/tuple_size.h +0 -4
  685. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  686. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  687. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  688. package/libcxx/include/__type_traits/invoke.h +8 -0
  689. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  690. package/libcxx/include/__type_traits/is_array.h +26 -0
  691. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  692. package/libcxx/include/__type_traits/is_final.h +1 -1
  693. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  694. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  695. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  696. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  697. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  698. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  699. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  700. package/libcxx/include/__utility/cmp.h +19 -7
  701. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  702. package/libcxx/include/__utility/in_place.h +1 -1
  703. package/libcxx/include/__utility/integer_sequence.h +56 -41
  704. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  705. package/libcxx/include/__utility/pair.h +22 -25
  706. package/libcxx/include/__utility/scope_guard.h +2 -0
  707. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  708. package/libcxx/include/__vector/vector.h +187 -160
  709. package/libcxx/include/__vector/vector_bool.h +76 -83
  710. package/libcxx/include/any +118 -155
  711. package/libcxx/include/array +88 -56
  712. package/libcxx/include/atomic +2 -0
  713. package/libcxx/include/barrier +20 -24
  714. package/libcxx/include/bitset +49 -30
  715. package/libcxx/include/ccomplex +3 -11
  716. package/libcxx/include/chrono +47 -0
  717. package/libcxx/include/ciso646 +3 -6
  718. package/libcxx/include/complex +77 -65
  719. package/libcxx/include/complex.h +10 -10
  720. package/libcxx/include/condition_variable +3 -3
  721. package/libcxx/include/cstdalign +3 -10
  722. package/libcxx/include/cstdbool +3 -10
  723. package/libcxx/include/ctgmath +2 -11
  724. package/libcxx/include/ctype.h +24 -24
  725. package/libcxx/include/cwchar +2 -2
  726. package/libcxx/include/deque +109 -225
  727. package/libcxx/include/errno.h +269 -269
  728. package/libcxx/include/exception +4 -1
  729. package/libcxx/include/ext/hash_map +7 -48
  730. package/libcxx/include/ext/hash_set +2 -8
  731. package/libcxx/include/fenv.h +43 -43
  732. package/libcxx/include/flat_map +663 -11
  733. package/libcxx/include/flat_set +543 -8
  734. package/libcxx/include/float.h +16 -16
  735. package/libcxx/include/forward_list +33 -53
  736. package/libcxx/include/fstream +57 -42
  737. package/libcxx/include/future +41 -51
  738. package/libcxx/include/initializer_list +9 -3
  739. package/libcxx/include/inttypes.h +16 -16
  740. package/libcxx/include/ios +28 -28
  741. package/libcxx/include/istream +19 -13
  742. package/libcxx/include/iterator +10 -0
  743. package/libcxx/include/latch +7 -5
  744. package/libcxx/include/limits +4 -4
  745. package/libcxx/include/list +61 -79
  746. package/libcxx/include/map +386 -274
  747. package/libcxx/include/math.h +19 -0
  748. package/libcxx/include/mdspan +1 -5
  749. package/libcxx/include/mutex +29 -19
  750. package/libcxx/include/optional +644 -149
  751. package/libcxx/include/print +9 -5
  752. package/libcxx/include/queue +39 -37
  753. package/libcxx/include/ranges +48 -0
  754. package/libcxx/include/regex +33 -31
  755. package/libcxx/include/scoped_allocator +16 -11
  756. package/libcxx/include/semaphore +15 -18
  757. package/libcxx/include/set +220 -192
  758. package/libcxx/include/shared_mutex +3 -8
  759. package/libcxx/include/span +53 -37
  760. package/libcxx/include/sstream +34 -28
  761. package/libcxx/include/stack +13 -15
  762. package/libcxx/include/stddef.h +10 -10
  763. package/libcxx/include/stdexcept +2 -2
  764. package/libcxx/include/stdio.h +20 -21
  765. package/libcxx/include/streambuf +59 -19
  766. package/libcxx/include/string +574 -573
  767. package/libcxx/include/string_view +113 -89
  768. package/libcxx/include/strstream +10 -10
  769. package/libcxx/include/syncstream +4 -4
  770. package/libcxx/include/tgmath.h +12 -12
  771. package/libcxx/include/tuple +242 -212
  772. package/libcxx/include/type_traits +8 -2
  773. package/libcxx/include/typeindex +5 -3
  774. package/libcxx/include/typeinfo +92 -89
  775. package/libcxx/include/unordered_map +179 -304
  776. package/libcxx/include/unordered_set +168 -195
  777. package/libcxx/include/utility +12 -0
  778. package/libcxx/include/valarray +106 -161
  779. package/libcxx/include/variant +25 -33
  780. package/libcxx/include/version +41 -24
  781. package/libcxx/include/wctype.h +29 -29
  782. package/libcxx/libc/hdr/errno_macros.h +3 -1
  783. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  784. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  785. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  786. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  787. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  788. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  789. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  790. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  791. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  792. package/libcxx/libc/shared/libc_common.h +5 -0
  793. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  794. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  795. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  796. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  797. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  798. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  799. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  800. package/libcxx/libc/src/__support/big_int.h +14 -14
  801. package/libcxx/libc/src/__support/common.h +3 -2
  802. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  803. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  804. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  805. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  806. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  807. package/libcxx/libc/src/__support/macros/config.h +23 -0
  808. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  809. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  810. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  811. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  812. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  813. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  814. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  815. package/libcxx/libc/src/__support/math_extras.h +20 -4
  816. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  817. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  818. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  819. package/libcxx/src/any.cpp +4 -0
  820. package/libcxx/src/atomic.cpp +365 -80
  821. package/libcxx/src/barrier.cpp +4 -3
  822. package/libcxx/src/charconv.cpp +6 -3
  823. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  824. package/libcxx/src/error_category.cpp +3 -1
  825. package/libcxx/src/exception.cpp +2 -10
  826. package/libcxx/src/experimental/time_zone.cpp +1 -1
  827. package/libcxx/src/experimental/tzdb.cpp +4 -1
  828. package/libcxx/src/filesystem/error.h +4 -22
  829. package/libcxx/src/filesystem/format_string.h +9 -18
  830. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  831. package/libcxx/src/filesystem/operations.cpp +2 -9
  832. package/libcxx/src/filesystem/path.cpp +3 -1
  833. package/libcxx/src/include/aligned_alloc.h +65 -0
  834. package/libcxx/src/include/config_elast.h +1 -1
  835. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  836. package/libcxx/src/include/overridable_function.h +8 -10
  837. package/libcxx/src/iostream.cpp +56 -37
  838. package/libcxx/src/locale.cpp +213 -196
  839. package/libcxx/src/memory.cpp +12 -14
  840. package/libcxx/src/mutex_destructor.cpp +1 -1
  841. package/libcxx/src/new.cpp +5 -5
  842. package/libcxx/src/optional.cpp +4 -0
  843. package/libcxx/src/print.cpp +9 -1
  844. package/libcxx/src/random.cpp +0 -26
  845. package/libcxx/src/string.cpp +10 -25
  846. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  847. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  848. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  849. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  850. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  851. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  852. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  853. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  854. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  855. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  856. package/libcxx/src/system_error.cpp +2 -0
  857. package/libcxx/src/thread.cpp +1 -3
  858. package/libcxx/src/valarray.cpp +1 -2
  859. package/libcxx/src/vector.cpp +2 -2
  860. package/libcxxabi/include/__cxxabi_config.h +42 -23
  861. package/libcxxabi/src/cxa_exception.cpp +4 -2
  862. package/libcxxabi/src/cxa_exception.h +16 -14
  863. package/libcxxabi/src/cxa_personality.cpp +126 -9
  864. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  865. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  866. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  867. package/libcxxabi/src/demangle/Utility.h +21 -7
  868. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  869. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  870. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  871. package/libtsan/LICENSE.TXT +311 -0
  872. package/libtsan/builtins/assembly.h +41 -8
  873. package/libtsan/interception/interception_win.cpp +4 -0
  874. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  875. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  876. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  877. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  878. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  879. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  880. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  881. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  882. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  883. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  884. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  885. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  886. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  887. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  888. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  889. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  890. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  891. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  892. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  893. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  894. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  895. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  896. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  897. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  898. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  899. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  900. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  901. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  902. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  903. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  904. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  905. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  906. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  907. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  908. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  909. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  910. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  911. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  912. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  913. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  914. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  915. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  916. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  917. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  918. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  919. package/libtsan/tsan_debugging.cpp +2 -2
  920. package/libtsan/tsan_flags.cpp +37 -0
  921. package/libtsan/tsan_flags.h +8 -0
  922. package/libtsan/tsan_flags.inc +12 -0
  923. package/libtsan/tsan_interceptors.h +9 -1
  924. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  925. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  926. package/libtsan/tsan_interface.h +3 -3
  927. package/libtsan/tsan_interface_ann.cpp +23 -9
  928. package/libtsan/tsan_mman.cpp +18 -4
  929. package/libtsan/tsan_platform.h +44 -7
  930. package/libtsan/tsan_platform_linux.cpp +42 -14
  931. package/libtsan/tsan_platform_mac.cpp +16 -3
  932. package/libtsan/tsan_report.h +14 -1
  933. package/libtsan/tsan_rtl.cpp +14 -0
  934. package/libtsan/tsan_rtl.h +7 -2
  935. package/libtsan/tsan_rtl_aarch64.S +3 -5
  936. package/libtsan/tsan_rtl_access.cpp +8 -3
  937. package/libtsan/tsan_rtl_amd64.S +2 -0
  938. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  939. package/libtsan/tsan_rtl_report.cpp +132 -65
  940. package/libtsan/tsan_rtl_thread.cpp +31 -9
  941. package/libtsan/tsan_symbolize.cpp +1 -1
  942. package/libtsan/tsan_symbolize.h +1 -1
  943. package/libtsan/tsan_trace.h +1 -1
  944. package/libunwind/include/__libunwind_config.h +11 -2
  945. package/libunwind/include/libunwind.h +117 -11
  946. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  947. package/libunwind/src/AddressSpace.hpp +42 -20
  948. package/libunwind/src/CompactUnwinder.hpp +16 -5
  949. package/libunwind/src/DwarfInstructions.hpp +24 -13
  950. package/libunwind/src/DwarfParser.hpp +62 -23
  951. package/libunwind/src/EHHeaderParser.hpp +7 -4
  952. package/libunwind/src/Registers.hpp +226 -22
  953. package/libunwind/src/Unwind-seh.cpp +6 -7
  954. package/libunwind/src/Unwind-wasm.c +7 -7
  955. package/libunwind/src/UnwindCursor.hpp +167 -49
  956. package/libunwind/src/UnwindLevel1.c +46 -17
  957. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  958. package/libunwind/src/UnwindRegistersSave.S +86 -2
  959. package/libunwind/src/assembly.h +5 -1
  960. package/libunwind/src/config.h +9 -0
  961. package/libunwind/src/gcc_personality_v0.c +79 -6
  962. package/libunwind/src/libunwind.cpp +104 -4
  963. package/libunwind/src/libunwind_ext.h +7 -1
  964. package/libunwind/src/shadow_stack_unwind.h +2 -2
  965. package/lldb/pretty_printers.py +948 -0
  966. package/package.json +1 -1
  967. package/std/Build/Cache/Path.zig +1 -1
  968. package/std/Build/Cache.zig +6 -6
  969. package/std/Build/Step/Compile.zig +18 -19
  970. package/std/Build/Step/ConfigHeader.zig +1 -1
  971. package/std/Build/Step/Run.zig +15 -8
  972. package/std/Build/Step.zig +3 -7
  973. package/std/Build/Watch/FsEvents.zig +1 -1
  974. package/std/Build/WebServer.zig +2 -2
  975. package/std/Build/abi.zig +1 -1
  976. package/std/Io/Dir.zig +9 -7
  977. package/std/Io/Dispatch.zig +8 -18
  978. package/std/Io/File/Writer.zig +8 -6
  979. package/std/Io/File.zig +6 -9
  980. package/std/Io/Kqueue.zig +3 -3
  981. package/std/Io/Reader.zig +8 -14
  982. package/std/Io/RwLock.zig +2 -0
  983. package/std/Io/Semaphore.zig +112 -17
  984. package/std/Io/Terminal.zig +1 -1
  985. package/std/Io/Threaded.zig +176 -39
  986. package/std/Io/Uring.zig +18 -20
  987. package/std/Io/Writer.zig +54 -10
  988. package/std/Io/net/HostName.zig +11 -6
  989. package/std/Io/net.zig +11 -11
  990. package/std/Io.zig +104 -38
  991. package/std/Random/ChaCha.zig +2 -2
  992. package/std/Random/benchmark.zig +2 -2
  993. package/std/Random.zig +6 -6
  994. package/std/SemanticVersion.zig +1 -1
  995. package/std/Target/Query.zig +3 -4
  996. package/std/Target/aarch64.zig +620 -77
  997. package/std/Target/amdgcn.zig +421 -21
  998. package/std/Target/arm.zig +40 -6
  999. package/std/Target/bpf.zig +6 -0
  1000. package/std/Target/hexagon.zig +41 -6
  1001. package/std/Target/loongarch.zig +18 -0
  1002. package/std/Target/mips.zig +6 -0
  1003. package/std/Target/nvptx.zig +58 -35
  1004. package/std/Target/powerpc.zig +27 -19
  1005. package/std/Target/riscv.zig +512 -177
  1006. package/std/Target/sparc.zig +17 -0
  1007. package/std/Target/spirv.zig +1 -1
  1008. package/std/Target/wasm.zig +7 -0
  1009. package/std/Target/x86.zig +200 -31
  1010. package/std/Target/xtensa.zig +65 -0
  1011. package/std/Target.zig +142 -60
  1012. package/std/Thread.zig +17 -4
  1013. package/std/array_hash_map.zig +103 -57
  1014. package/std/array_list.zig +12 -33
  1015. package/std/ascii.zig +0 -9
  1016. package/std/atomic.zig +2 -0
  1017. package/std/base64.zig +5 -5
  1018. package/std/bit_set.zig +85 -93
  1019. package/std/c/haiku.zig +3 -0
  1020. package/std/c/serenity.zig +1 -6
  1021. package/std/c.zig +123 -32
  1022. package/std/compress/flate/Decompress.zig +3 -4
  1023. package/std/compress/zstd/Decompress.zig +7 -9
  1024. package/std/crypto/25519/curve25519.zig +2 -2
  1025. package/std/crypto/25519/edwards25519.zig +3 -3
  1026. package/std/crypto/25519/ristretto255.zig +2 -2
  1027. package/std/crypto/25519/scalar.zig +6 -6
  1028. package/std/crypto/25519/x25519.zig +1 -1
  1029. package/std/crypto/Certificate.zig +14 -2
  1030. package/std/crypto/Sha1.zig +1 -1
  1031. package/std/crypto/aegis.zig +45 -39
  1032. package/std/crypto/aes_ccm.zig +22 -22
  1033. package/std/crypto/aes_gcm.zig +10 -12
  1034. package/std/crypto/aes_ocb.zig +9 -9
  1035. package/std/crypto/argon2.zig +15 -15
  1036. package/std/crypto/ascon.zig +75 -35
  1037. package/std/crypto/bcrypt.zig +20 -10
  1038. package/std/crypto/benchmark.zig +7 -7
  1039. package/std/crypto/blake2.zig +100 -64
  1040. package/std/crypto/cbc_mac.zig +1 -1
  1041. package/std/crypto/chacha20.zig +10 -10
  1042. package/std/crypto/cmac.zig +3 -3
  1043. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  1044. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  1045. package/std/crypto/codecs/asn1.zig +1 -1
  1046. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  1047. package/std/crypto/ecdsa.zig +9 -9
  1048. package/std/crypto/ff.zig +4 -5
  1049. package/std/crypto/ghash_polyval.zig +4 -4
  1050. package/std/crypto/hkdf.zig +1 -1
  1051. package/std/crypto/isap.zig +3 -3
  1052. package/std/crypto/kangarootwelve.zig +1 -1
  1053. package/std/crypto/keccak_p.zig +8 -8
  1054. package/std/crypto/md5.zig +1 -1
  1055. package/std/crypto/ml_dsa.zig +39 -39
  1056. package/std/crypto/ml_kem.zig +12 -34
  1057. package/std/crypto/modes.zig +2 -2
  1058. package/std/crypto/pbkdf2.zig +1 -1
  1059. package/std/crypto/pcurves/common.zig +4 -5
  1060. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  1061. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  1062. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  1063. package/std/crypto/pcurves/tests/p256.zig +5 -5
  1064. package/std/crypto/pcurves/tests/p384.zig +5 -5
  1065. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  1066. package/std/crypto/salsa20.zig +8 -14
  1067. package/std/crypto/sha2.zig +2 -2
  1068. package/std/crypto/sha3.zig +2 -4
  1069. package/std/crypto/siphash.zig +1 -1
  1070. package/std/crypto/timing_safe.zig +10 -9
  1071. package/std/crypto/tls/Client.zig +89 -13
  1072. package/std/crypto/tls.zig +1 -1
  1073. package/std/crypto.zig +4 -3
  1074. package/std/debug/Dwarf.zig +21 -12
  1075. package/std/debug/Pdb.zig +25 -17
  1076. package/std/debug/SelfInfo/Elf.zig +1 -0
  1077. package/std/debug/cpu_context.zig +168 -24
  1078. package/std/debug.zig +17 -9
  1079. package/std/deque.zig +1 -1
  1080. package/std/elf.zig +20 -3
  1081. package/std/enums.zig +8 -20
  1082. package/std/fmt/float.zig +2 -0
  1083. package/std/fmt/parse_float/decimal.zig +1 -1
  1084. package/std/fmt/parse_float.zig +1 -1
  1085. package/std/fmt.zig +14 -10
  1086. package/std/fs/path.zig +7 -5
  1087. package/std/hash/Adler32.zig +3 -3
  1088. package/std/hash/benchmark.zig +2 -2
  1089. package/std/hash/wyhash.zig +2 -2
  1090. package/std/hash/xxhash.zig +0 -6
  1091. package/std/hash_map.zig +20 -1
  1092. package/std/heap/ArenaAllocator.zig +3 -5
  1093. package/std/heap/BufferFirstAllocator.zig +165 -0
  1094. package/std/heap/SafeAllocator.zig +2180 -0
  1095. package/std/heap/debug_allocator.zig +2 -2
  1096. package/std/heap/memory_pool.zig +34 -197
  1097. package/std/heap.zig +20 -133
  1098. package/std/http/Client.zig +21 -24
  1099. package/std/http.zig +4 -5
  1100. package/std/json/Scanner.zig +2 -2
  1101. package/std/json/static.zig +2 -2
  1102. package/std/json.zig +1 -1
  1103. package/std/{builtin → lang}/assembly.zig +71 -0
  1104. package/std/{builtin.zig → lang.zig} +7 -1
  1105. package/std/leb128.zig +2 -2
  1106. package/std/math/acos.zig +6 -0
  1107. package/std/math/asin.zig +6 -0
  1108. package/std/math/atan.zig +5 -0
  1109. package/std/math/big/int.zig +5 -5
  1110. package/std/math/big.zig +4 -4
  1111. package/std/math/copysign.zig +1 -1
  1112. package/std/math/float.zig +62 -0
  1113. package/std/math/frexp.zig +4 -4
  1114. package/std/math/hypot.zig +4 -0
  1115. package/std/math/ilogb.zig +1 -1
  1116. package/std/math/isfinite.zig +1 -1
  1117. package/std/math/isinf.zig +1 -1
  1118. package/std/math/isnan.zig +1 -2
  1119. package/std/math/isnormal.zig +2 -2
  1120. package/std/math/iszero.zig +2 -2
  1121. package/std/math/ldexp.zig +2 -2
  1122. package/std/math/log10.zig +0 -2
  1123. package/std/math/modf.zig +1 -2
  1124. package/std/math/nextafter.zig +3 -4
  1125. package/std/math/pow.zig +1 -1
  1126. package/std/math/powi.zig +2 -3
  1127. package/std/math/signbit.zig +0 -1
  1128. package/std/math.zig +21 -26
  1129. package/std/mem/Allocator.zig +2 -6
  1130. package/std/mem.zig +52 -75
  1131. package/std/meta/trailer_flags.zig +1 -1
  1132. package/std/meta.zig +4 -36
  1133. package/std/multi_array_list.zig +24 -0
  1134. package/std/os/emscripten.zig +7 -6
  1135. package/std/os/linux/IoUring.zig +2 -0
  1136. package/std/os/linux/alpha.zig +358 -0
  1137. package/std/os/linux/arm.zig +0 -26
  1138. package/std/os/linux/bpf.zig +6 -0
  1139. package/std/os/linux/ioctl.zig +3 -2
  1140. package/std/os/linux/syscalls.zig +528 -1
  1141. package/std/os/linux/tls.zig +12 -1
  1142. package/std/os/linux/x86.zig +2 -2
  1143. package/std/os/linux/xtensa.zig +171 -0
  1144. package/std/os/linux.zig +793 -51
  1145. package/std/os/plan9.zig +1 -1
  1146. package/std/os/uefi/hii.zig +1 -1
  1147. package/std/os/uefi/tables/boot_services.zig +9 -8
  1148. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1149. package/std/os/windows.zig +130 -1
  1150. package/std/os.zig +36 -0
  1151. package/std/pie.zig +21 -0
  1152. package/std/posix.zig +2 -2
  1153. package/std/process/Environ.zig +1 -1
  1154. package/std/process.zig +6 -5
  1155. package/std/simd.zig +4 -21
  1156. package/std/sort.zig +3 -3
  1157. package/std/start.zig +45 -12
  1158. package/std/std.zig +8 -1
  1159. package/std/tar/Writer.zig +39 -33
  1160. package/std/tar.zig +8 -4
  1161. package/std/testing.zig +68 -15
  1162. package/std/unicode.zig +13 -8
  1163. package/std/zig/Ast/Render.zig +6 -30
  1164. package/std/zig/Ast.zig +12 -37
  1165. package/std/zig/AstGen.zig +174 -258
  1166. package/std/zig/AstRlAnnotate.zig +1 -11
  1167. package/std/zig/AstSmith.zig +5 -11
  1168. package/std/zig/ErrorBundle.zig +6 -2
  1169. package/std/zig/LibCDirs.zig +14 -7
  1170. package/std/zig/LibCInstallation.zig +34 -12
  1171. package/std/zig/Parse.zig +11 -76
  1172. package/std/zig/TokenSmith.zig +0 -6
  1173. package/std/zig/WindowsSdk.zig +18 -18
  1174. package/std/zig/Zir.zig +15 -69
  1175. package/std/zig/ZonGen.zig +19 -27
  1176. package/std/zig/llvm/Builder.zig +39 -33
  1177. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1178. package/std/zig/llvm/ir.zig +8 -8
  1179. package/std/zig/system/arm.zig +56 -2
  1180. package/std/zig/system/linux.zig +4 -0
  1181. package/std/zig/system/loongarch.zig +25 -9
  1182. package/std/zig/system/windows.zig +34 -1
  1183. package/std/zig/system/x86.zig +60 -16
  1184. package/std/zig/system.zig +2 -8
  1185. package/std/zig/target.zig +1 -4
  1186. package/std/zig/tokenizer.zig +4 -43
  1187. package/std/zig.zig +3 -4
  1188. package/std/zip.zig +5 -5
  1189. package/std/zon/parse.zig +1 -1
  1190. package/zig.h +364 -3
  1191. package/compiler_rt/long_double.zig +0 -37
  1192. package/include/amxbf16transposeintrin.h +0 -94
  1193. package/include/amxcomplextransposeintrin.h +0 -303
  1194. package/include/amxfp16transposeintrin.h +0 -94
  1195. package/include/amxmovrstransposeintrin.h +0 -200
  1196. package/include/amxtf32transposeintrin.h +0 -105
  1197. package/include/amxtransposeintrin.h +0 -248
  1198. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1199. package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
  1200. package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
  1201. package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
  1202. package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
  1203. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1204. package/libc/mingw/math/lrintl.c +0 -18
  1205. package/libc/mingw/math/rintl.c +0 -16
  1206. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1207. package/libc/musl/src/linux/tee.c +0 -8
  1208. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1209. package/libc/musl/src/math/i386/rintl.c +0 -7
  1210. package/libc/musl/src/math/lrintl.c +0 -36
  1211. package/libc/musl/src/math/rintl.c +0 -29
  1212. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1213. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1214. package/libc/musl/src/math/x32/rintl.s +0 -6
  1215. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1216. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1217. package/libc/musl/src/string/strdup.c +0 -10
  1218. package/libc/musl/src/string/strndup.c +0 -12
  1219. package/libc/musl/src/string/wcsdup.c +0 -10
  1220. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1221. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1222. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1223. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1224. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1225. package/libc/musl/src/unistd/dup2.c +0 -20
  1226. package/libc/musl/src/unistd/dup3.c +0 -26
  1227. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1228. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1229. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1230. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1231. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -11,45 +11,41 @@
11
11
  #define _LIBCPP___ALGORITHM_FOR_EACH_H
12
12
 
13
13
  #include <__algorithm/for_each_segment.h>
14
+ #include <__algorithm/specialized_algorithms.h>
14
15
  #include <__config>
15
16
  #include <__functional/identity.h>
16
17
  #include <__iterator/segmented_iterator.h>
17
- #include <__type_traits/enable_if.h>
18
18
  #include <__type_traits/invoke.h>
19
- #include <__utility/move.h>
19
+ #include <__type_traits/is_same.h>
20
20
 
21
21
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
22
22
  # pragma GCC system_header
23
23
  #endif
24
24
 
25
- _LIBCPP_PUSH_MACROS
26
- #include <__undef_macros>
27
-
28
25
  _LIBCPP_BEGIN_NAMESPACE_STD
29
26
 
30
27
  template <class _InputIterator, class _Sent, class _Func, class _Proj>
31
28
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _InputIterator
32
- __for_each(_InputIterator __first, _Sent __last, _Func& __f, _Proj& __proj) {
29
+ __for_each(_InputIterator __first, _Sent __last, _Func& __func, _Proj& __proj) {
30
+ #ifndef _LIBCPP_CXX03_LANG
31
+ if constexpr (using _SpecialAlg =
32
+ __specialized_algorithm<_Algorithm::__for_each, __iterator_pair<_InputIterator, _Sent>>;
33
+ _SpecialAlg::__has_algorithm) {
34
+ _SpecialAlg()(__first, __last, __func, __proj);
35
+ return __last;
36
+ } else if constexpr (is_same<_InputIterator, _Sent>::value && __is_segmented_iterator_v<_InputIterator>) {
37
+ using __local_iterator_t = typename __segmented_iterator_traits<_InputIterator>::__local_iterator;
38
+ std::__for_each_segment(__first, __last, [&](__local_iterator_t __lfirst, __local_iterator_t __llast) {
39
+ std::__for_each(__lfirst, __llast, __func, __proj);
40
+ });
41
+ return __last;
42
+ }
43
+ #endif
33
44
  for (; __first != __last; ++__first)
34
- std::__invoke(__f, std::__invoke(__proj, *__first));
45
+ std::__invoke(__func, std::__invoke(__proj, *__first));
35
46
  return __first;
36
47
  }
37
48
 
38
- #ifndef _LIBCPP_CXX03_LANG
39
- template <class _SegmentedIterator,
40
- class _Func,
41
- class _Proj,
42
- __enable_if_t<__is_segmented_iterator<_SegmentedIterator>::value, int> = 0>
43
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _SegmentedIterator
44
- __for_each(_SegmentedIterator __first, _SegmentedIterator __last, _Func& __func, _Proj& __proj) {
45
- using __local_iterator_t = typename __segmented_iterator_traits<_SegmentedIterator>::__local_iterator;
46
- std::__for_each_segment(__first, __last, [&](__local_iterator_t __lfirst, __local_iterator_t __llast) {
47
- std::__for_each(__lfirst, __llast, __func, __proj);
48
- });
49
- return __last;
50
- }
51
- #endif // !_LIBCPP_CXX03_LANG
52
-
53
49
  template <class _InputIterator, class _Func>
54
50
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Func
55
51
  for_each(_InputIterator __first, _InputIterator __last, _Func __f) {
@@ -60,6 +56,4 @@ for_each(_InputIterator __first, _InputIterator __last, _Func __f) {
60
56
 
61
57
  _LIBCPP_END_NAMESPACE_STD
62
58
 
63
- _LIBCPP_POP_MACROS
64
-
65
59
  #endif // _LIBCPP___ALGORITHM_FOR_EACH_H
@@ -16,10 +16,7 @@
16
16
  #include <__functional/identity.h>
17
17
  #include <__iterator/iterator_traits.h>
18
18
  #include <__iterator/segmented_iterator.h>
19
- #include <__type_traits/disjunction.h>
20
- #include <__type_traits/enable_if.h>
21
19
  #include <__type_traits/invoke.h>
22
- #include <__type_traits/negation.h>
23
20
  #include <__utility/convert_to_integral.h>
24
21
  #include <__utility/move.h>
25
22
 
@@ -32,57 +29,33 @@ _LIBCPP_PUSH_MACROS
32
29
 
33
30
  _LIBCPP_BEGIN_NAMESPACE_STD
34
31
 
35
- template <class _InputIterator,
36
- class _Size,
37
- class _Func,
38
- class _Proj,
39
- __enable_if_t<!__has_random_access_iterator_category<_InputIterator>::value &&
40
- _Or< _Not<__is_segmented_iterator<_InputIterator> >,
41
- _Not<__has_random_access_local_iterator<_InputIterator> > >::value,
42
- int> = 0>
32
+ template <class _InputIterator, class _Size, class _Func, class _Proj>
43
33
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _InputIterator
44
34
  __for_each_n(_InputIterator __first, _Size __orig_n, _Func& __f, _Proj& __proj) {
45
35
  typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize;
46
36
  _IntegralSize __n = __orig_n;
47
- while (__n > 0) {
48
- std::__invoke(__f, std::__invoke(__proj, *__first));
49
- ++__first;
50
- --__n;
51
- }
52
- return std::move(__first);
53
- }
54
-
55
- template <class _RandIter,
56
- class _Size,
57
- class _Func,
58
- class _Proj,
59
- __enable_if_t<__has_random_access_iterator_category<_RandIter>::value, int> = 0>
60
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _RandIter
61
- __for_each_n(_RandIter __first, _Size __orig_n, _Func& __f, _Proj& __proj) {
62
- typename std::iterator_traits<_RandIter>::difference_type __n = __orig_n;
63
- auto __last = __first + __n;
64
- std::__for_each(__first, __last, __f, __proj);
65
- return __last;
66
- }
67
37
 
68
38
  #ifndef _LIBCPP_CXX03_LANG
69
- template <class _SegmentedIterator,
70
- class _Size,
71
- class _Func,
72
- class _Proj,
73
- __enable_if_t<!__has_random_access_iterator_category<_SegmentedIterator>::value &&
74
- __is_segmented_iterator<_SegmentedIterator>::value &&
75
- __has_random_access_iterator_category<
76
- typename __segmented_iterator_traits<_SegmentedIterator>::__local_iterator>::value,
77
- int> = 0>
78
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _SegmentedIterator
79
- __for_each_n(_SegmentedIterator __first, _Size __orig_n, _Func& __f, _Proj& __proj) {
80
- using __local_iterator_t = typename __segmented_iterator_traits<_SegmentedIterator>::__local_iterator;
81
- return std::__for_each_n_segment(__first, __orig_n, [&](__local_iterator_t __lfirst, __local_iterator_t __llast) {
82
- std::__for_each(__lfirst, __llast, __f, __proj);
83
- });
39
+ if constexpr (__is_segmented_iterator_v<_InputIterator>) {
40
+ using __local_iterator = typename __segmented_iterator_traits<_InputIterator>::__local_iterator;
41
+ if constexpr (__has_random_access_iterator_category<__local_iterator>::value) {
42
+ return std::__for_each_n_segment(__first, __orig_n, [&](__local_iterator __lfirst, __local_iterator __llast) {
43
+ std::__for_each(__lfirst, __llast, __f, __proj);
44
+ });
45
+ } else {
46
+ return std::__for_each(__first, __first + __n, __f, __proj);
47
+ }
48
+ } else
49
+ #endif
50
+ {
51
+ while (__n > 0) {
52
+ std::__invoke(__f, std::__invoke(__proj, *__first));
53
+ ++__first;
54
+ --__n;
55
+ }
56
+ return std::move(__first);
57
+ }
84
58
  }
85
- #endif // !_LIBCPP_CXX03_LANG
86
59
 
87
60
  #if _LIBCPP_STD_VER >= 17
88
61
 
@@ -27,7 +27,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
27
27
  template <class _SegmentedIterator, class _Size, class _Functor>
28
28
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _SegmentedIterator
29
29
  __for_each_n_segment(_SegmentedIterator __first, _Size __orig_n, _Functor __func) {
30
- static_assert(__is_segmented_iterator<_SegmentedIterator>::value &&
30
+ static_assert(__is_segmented_iterator_v<_SegmentedIterator> &&
31
31
  __has_random_access_iterator_category<
32
32
  typename __segmented_iterator_traits<_SegmentedIterator>::__local_iterator>::value,
33
33
  "__for_each_n_segment only works with segmented iterators with random-access local iterators");
@@ -48,6 +48,32 @@ __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Funct
48
48
  __func(_Traits::__begin(__sfirst), _Traits::__local(__last));
49
49
  }
50
50
 
51
+ template <class _SegmentedIterator, class _Functor>
52
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void
53
+ __for_each_segment_backward(_SegmentedIterator __first, _SegmentedIterator __last, _Functor __func) {
54
+ using _Traits = __segmented_iterator_traits<_SegmentedIterator>;
55
+
56
+ auto __sfirst = _Traits::__segment(__first);
57
+ auto __slast = _Traits::__segment(__last);
58
+
59
+ // We are in a single segment, so we might not be at the beginning or end
60
+ if (__sfirst == __slast) {
61
+ __func(_Traits::__local(__first), _Traits::__local(__last));
62
+ return;
63
+ }
64
+
65
+ // We have more than one segment. Iterate over the last segment, since we might not start at the end
66
+ __func(_Traits::__begin(__slast), _Traits::__local(__last));
67
+ --__slast;
68
+ // iterate over the segments which are guaranteed to be completely in the range
69
+ while (__sfirst != __slast) {
70
+ __func(_Traits::__begin(__slast), _Traits::__end(__slast));
71
+ --__slast;
72
+ }
73
+ // iterate over the first segment
74
+ __func(_Traits::__local(__first), _Traits::__end(__slast));
75
+ }
76
+
51
77
  _LIBCPP_END_NAMESPACE_STD
52
78
 
53
79
  #endif // _LIBCPP___ALGORITHM_FOR_EACH_SEGMENT_H
@@ -9,7 +9,9 @@
9
9
  #ifndef _LIBCPP___ALGORITHM_GENERATE_H
10
10
  #define _LIBCPP___ALGORITHM_GENERATE_H
11
11
 
12
+ #include <__algorithm/for_each.h>
12
13
  #include <__config>
14
+ #include <__utility/forward.h>
13
15
 
14
16
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
15
17
  # pragma GCC system_header
@@ -20,8 +22,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
20
22
  template <class _ForwardIterator, class _Generator>
21
23
  inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
22
24
  generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) {
23
- for (; __first != __last; ++__first)
24
- *__first = __gen();
25
+ using __iter_ref = decltype(*__first);
26
+ std::for_each(__first, __last, [&](__iter_ref __element) { std::forward<__iter_ref>(__element) = __gen(); });
25
27
  }
26
28
 
27
29
  _LIBCPP_END_NAMESPACE_STD
@@ -9,25 +9,38 @@
9
9
  #ifndef _LIBCPP___ALGORITHM_GENERATE_N_H
10
10
  #define _LIBCPP___ALGORITHM_GENERATE_N_H
11
11
 
12
+ #include <__algorithm/for_each_n.h>
12
13
  #include <__config>
13
- #include <__utility/convert_to_integral.h>
14
+ #include <__functional/identity.h>
15
+ #include <__utility/forward.h>
16
+ #include <__utility/move.h>
14
17
 
15
18
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
16
19
  # pragma GCC system_header
17
20
  #endif
18
21
 
22
+ _LIBCPP_PUSH_MACROS
23
+ #include <__undef_macros>
24
+
19
25
  _LIBCPP_BEGIN_NAMESPACE_STD
20
26
 
27
+ template <class _OutputIterator, class _Size, class _Generator>
28
+ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator
29
+ __generate_n(_OutputIterator __first, _Size __orig_n, _Generator& __gen) {
30
+ using __iter_ref = decltype(*__first);
31
+ __identity __proj;
32
+ auto __f = [&](__iter_ref __element) { std::forward<__iter_ref>(__element) = __gen(); };
33
+ return std::__for_each_n(std::move(__first), __orig_n, __f, __proj);
34
+ }
35
+
21
36
  template <class _OutputIterator, class _Size, class _Generator>
22
37
  inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator
23
38
  generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen) {
24
- typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize;
25
- _IntegralSize __n = __orig_n;
26
- for (; __n > 0; ++__first, (void)--__n)
27
- *__first = __gen();
28
- return __first;
39
+ return std::__generate_n(std::move(__first), __orig_n, __gen);
29
40
  }
30
41
 
31
42
  _LIBCPP_END_NAMESPACE_STD
32
43
 
44
+ _LIBCPP_POP_MACROS
45
+
33
46
  #endif // _LIBCPP___ALGORITHM_GENERATE_N_H
@@ -78,7 +78,7 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool __is_permutation_impl(
78
78
  _Pred&& __pred,
79
79
  _Proj1&& __proj1,
80
80
  _Proj2&& __proj2) {
81
- using _D1 = __iter_diff_t<_Iter1>;
81
+ using _D1 = __iterator_difference_type<_Iter1>;
82
82
 
83
83
  for (auto __i = __first1; __i != __last1; ++__i) {
84
84
  // Have we already counted the number of *__i in [f1, l1)?
@@ -126,7 +126,7 @@ template <class _AlgPolicy, class _ForwardIterator1, class _Sentinel1, class _Fo
126
126
  return true;
127
127
 
128
128
  // __first1 != __last1 && *__first1 != *__first2
129
- using _D1 = __iter_diff_t<_ForwardIterator1>;
129
+ using _D1 = __iterator_difference_type<_ForwardIterator1>;
130
130
  _D1 __l1 = _IterOps<_AlgPolicy>::distance(__first1, __last1);
131
131
  if (__l1 == _D1(1))
132
132
  return false;
@@ -173,10 +173,10 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool __is_permutation(
173
173
  if (__first2 == __last2) // Second range is shorter
174
174
  return false;
175
175
 
176
- using _D1 = __iter_diff_t<_Iter1>;
176
+ using _D1 = __iterator_difference_type<_Iter1>;
177
177
  _D1 __l1 = _IterOps<_AlgPolicy>::distance(__first1, __last1);
178
178
 
179
- using _D2 = __iter_diff_t<_Iter2>;
179
+ using _D2 = __iterator_difference_type<_Iter2>;
180
180
  _D2 __l2 = _IterOps<_AlgPolicy>::distance(__first2, __last2);
181
181
  if (__l1 != __l2)
182
182
  return false;
@@ -219,6 +219,9 @@ private:
219
219
  template <class _AlgPolicy, class _Iter>
220
220
  using __policy_iter_diff_t _LIBCPP_NODEBUG = typename _IterOps<_AlgPolicy>::template __difference_type<_Iter>;
221
221
 
222
+ template <class _AlgPolicy, class _Iter>
223
+ using __policy_value_type _LIBCPP_NODEBUG = typename _IterOps<_AlgPolicy>::template __value_type<_Iter>;
224
+
222
225
  _LIBCPP_END_NAMESPACE_STD
223
226
 
224
227
  _LIBCPP_POP_MACROS
@@ -66,8 +66,8 @@ template <class _Tp,
66
66
  class _Proj2,
67
67
  class _Comp,
68
68
  __enable_if_t<__desugars_to_v<__totally_ordered_less_tag, _Comp, _Tp, _Tp> && !is_volatile<_Tp>::value &&
69
- __libcpp_is_trivially_equality_comparable<_Tp, _Tp>::value &&
70
- __is_identity<_Proj1>::value && __is_identity<_Proj2>::value,
69
+ __is_trivially_equality_comparable_v<_Tp, _Tp> && __is_identity<_Proj1>::value &&
70
+ __is_identity<_Proj2>::value,
71
71
  int> = 0>
72
72
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool
73
73
  __lexicographical_compare(_Tp* __first1, _Tp* __last1, _Tp* __first2, _Tp* __last2, _Comp&, _Proj1&, _Proj2&) {
@@ -37,13 +37,13 @@ template <class _InputIterator1, class _InputIterator2, class _Cmp>
37
37
  _LIBCPP_HIDE_FROM_ABI constexpr auto __lexicographical_compare_three_way_fast_path(
38
38
  _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Cmp& __comp)
39
39
  -> decltype(__comp(*__first1, *__first2)) {
40
- static_assert(
41
- signed_integral<__iter_diff_t<_InputIterator1>>, "Using a non-integral difference_type is undefined behavior.");
42
- static_assert(
43
- signed_integral<__iter_diff_t<_InputIterator2>>, "Using a non-integral difference_type is undefined behavior.");
40
+ static_assert(signed_integral<__iterator_difference_type<_InputIterator1>>,
41
+ "Using a non-integral difference_type is undefined behavior.");
42
+ static_assert(signed_integral<__iterator_difference_type<_InputIterator2>>,
43
+ "Using a non-integral difference_type is undefined behavior.");
44
44
 
45
- using _Len1 = __iter_diff_t<_InputIterator1>;
46
- using _Len2 = __iter_diff_t<_InputIterator2>;
45
+ using _Len1 = __iterator_difference_type<_InputIterator1>;
46
+ using _Len2 = __iterator_difference_type<_InputIterator2>;
47
47
  using _Common = common_type_t<_Len1, _Len2>;
48
48
 
49
49
  _Len1 __len1 = __last1 - __first1;
@@ -12,9 +12,11 @@
12
12
  #include <__algorithm/comp.h>
13
13
  #include <__algorithm/comp_ref_type.h>
14
14
  #include <__algorithm/iterator_operations.h>
15
+ #include <__algorithm/push_heap.h>
15
16
  #include <__algorithm/sift_down.h>
16
17
  #include <__config>
17
18
  #include <__iterator/iterator_traits.h>
19
+ #include <__type_traits/is_arithmetic.h>
18
20
  #include <__utility/move.h>
19
21
 
20
22
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -31,13 +33,23 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void
31
33
  __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare&& __comp) {
32
34
  __comp_ref_type<_Compare> __comp_ref = __comp;
33
35
 
34
- using difference_type = typename iterator_traits<_RandomAccessIterator>::difference_type;
35
- difference_type __n = __last - __first;
36
+ using __diff_t = __iterator_difference_type<_RandomAccessIterator>;
37
+ const __diff_t __n = __last - __first;
38
+
39
+ const bool __assume_both_children = is_arithmetic<__iterator_value_type<_RandomAccessIterator> >::value;
40
+
41
+ // While it would be correct to always assume we have both children, in practice we observed this to be a performance
42
+ // improvement only for arithmetic types.
43
+ const __diff_t __sift_down_n = __assume_both_children ? ((__n & 1) ? __n : __n - 1) : __n;
44
+
36
45
  if (__n > 1) {
37
46
  // start from the first parent, there is no need to consider children
38
- for (difference_type __start = (__n - 2) / 2; __start >= 0; --__start) {
39
- std::__sift_down<_AlgPolicy>(__first, __comp_ref, __n, __first + __start);
47
+
48
+ for (__diff_t __start = (__sift_down_n - 2) / 2; __start >= 0; --__start) {
49
+ std::__sift_down<_AlgPolicy, __assume_both_children>(__first, __comp_ref, __sift_down_n, __start);
40
50
  }
51
+ if _LIBCPP_CONSTEXPR (__assume_both_children)
52
+ std::__sift_up<_AlgPolicy>(__first, __last, __comp, __n);
41
53
  }
42
54
  }
43
55
 
@@ -60,7 +60,7 @@ __mismatch(_Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Pred& __pred, _Pro
60
60
  template <class _Iter>
61
61
  [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 pair<_Iter, _Iter>
62
62
  __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
63
- using __value_type = __iter_value_type<_Iter>;
63
+ using __value_type = __iterator_value_type<_Iter>;
64
64
  constexpr size_t __unroll_count = 4;
65
65
  constexpr size_t __vec_size = __native_vector_size<__value_type>;
66
66
  using __vec = __simd_vector<__value_type, __vec_size>;
@@ -136,7 +136,7 @@ template <class _Tp,
136
136
  class _Proj2,
137
137
  __enable_if_t<!is_integral<_Tp>::value && __desugars_to_v<__equal_tag, _Pred, _Tp, _Tp> &&
138
138
  __is_identity<_Proj1>::value && __is_identity<_Proj2>::value &&
139
- __can_map_to_integer_v<_Tp> && __libcpp_is_trivially_equality_comparable<_Tp, _Tp>::value,
139
+ __can_map_to_integer_v<_Tp> && __is_trivially_equality_comparable_v<_Tp, _Tp>,
140
140
  int> = 0>
141
141
  [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 pair<_Tp*, _Tp*>
142
142
  __mismatch(_Tp* __first1, _Tp* __last1, _Tp* __first2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2) {
@@ -50,37 +50,26 @@ struct __move_impl {
50
50
  return std::make_pair(std::move(__first), std::move(__result));
51
51
  }
52
52
 
53
- template <class _InIter, class _OutIter>
54
- struct _MoveSegment {
55
- using _Traits _LIBCPP_NODEBUG = __segmented_iterator_traits<_InIter>;
56
-
57
- _OutIter& __result_;
58
-
59
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit _MoveSegment(_OutIter& __result)
60
- : __result_(__result) {}
61
-
62
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void
63
- operator()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) {
64
- __result_ = std::__move<_AlgPolicy>(__lfirst, __llast, std::move(__result_)).second;
65
- }
66
- };
67
-
68
- template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0>
53
+ template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator_v<_InIter>, int> = 0>
69
54
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
70
55
  operator()(_InIter __first, _InIter __last, _OutIter __result) const {
71
- std::__for_each_segment(__first, __last, _MoveSegment<_InIter, _OutIter>(__result));
56
+ using __local_iterator = typename __segmented_iterator_traits<_InIter>::__local_iterator;
57
+ std::__for_each_segment(__first, __last, [&__result](__local_iterator __lfirst, __local_iterator __llast) {
58
+ __result = std::__move<_AlgPolicy>(__lfirst, __llast, std::move(__result)).second;
59
+ });
72
60
  return std::make_pair(__last, std::move(__result));
73
61
  }
74
62
 
75
63
  template <class _InIter,
76
64
  class _OutIter,
77
65
  __enable_if_t<__has_random_access_iterator_category<_InIter>::value &&
78
- !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value,
66
+ !__is_segmented_iterator_v<_InIter> && __is_segmented_iterator_v<_OutIter>,
79
67
  int> = 0>
80
68
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
81
69
  operator()(_InIter __first, _InIter __last, _OutIter __result) const {
82
70
  using _Traits = __segmented_iterator_traits<_OutIter>;
83
- using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type;
71
+ using _DiffT =
72
+ typename common_type<__iterator_difference_type<_InIter>, __iterator_difference_type<_OutIter> >::type;
84
73
 
85
74
  if (__first == __last)
86
75
  return std::make_pair(std::move(__first), std::move(__result));
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include <__algorithm/copy_backward.h>
13
13
  #include <__algorithm/copy_move_common.h>
14
+ #include <__algorithm/for_each_segment.h>
14
15
  #include <__algorithm/iterator_operations.h>
15
16
  #include <__algorithm/min.h>
16
17
  #include <__config>
@@ -51,42 +52,26 @@ struct __move_backward_impl {
51
52
  return std::make_pair(std::move(__original_last_iter), std::move(__result));
52
53
  }
53
54
 
54
- template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0>
55
+ template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator_v<_InIter>, int> = 0>
55
56
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
56
57
  operator()(_InIter __first, _InIter __last, _OutIter __result) const {
57
- using _Traits = __segmented_iterator_traits<_InIter>;
58
- auto __sfirst = _Traits::__segment(__first);
59
- auto __slast = _Traits::__segment(__last);
60
- if (__sfirst == __slast) {
61
- auto __iters =
62
- std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result));
63
- return std::make_pair(__last, __iters.second);
64
- }
65
-
66
- __result =
67
- std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result))
68
- .second;
69
- --__slast;
70
- while (__sfirst != __slast) {
71
- __result =
72
- std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__end(__slast), std::move(__result))
73
- .second;
74
- --__slast;
75
- }
76
- __result = std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result))
77
- .second;
58
+ using __local_iterator = typename __segmented_iterator_traits<_InIter>::__local_iterator;
59
+ std::__for_each_segment_backward(__first, __last, [&__result](__local_iterator __lfirst, __local_iterator __llast) {
60
+ __result = std::__move_backward<_AlgPolicy>(std::move(__lfirst), std::move(__llast), std::move(__result)).second;
61
+ });
78
62
  return std::make_pair(__last, std::move(__result));
79
63
  }
80
64
 
81
65
  template <class _InIter,
82
66
  class _OutIter,
83
67
  __enable_if_t<__has_random_access_iterator_category<_InIter>::value &&
84
- !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value,
68
+ !__is_segmented_iterator_v<_InIter> && __is_segmented_iterator_v<_OutIter>,
85
69
  int> = 0>
86
70
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
87
71
  operator()(_InIter __first, _InIter __last, _OutIter __result) const {
88
72
  using _Traits = __segmented_iterator_traits<_OutIter>;
89
- using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type;
73
+ using _DiffT =
74
+ typename common_type<__iterator_difference_type<_InIter>, __iterator_difference_type<_OutIter> >::type;
90
75
 
91
76
  // When the range contains no elements, __result might not be a valid iterator
92
77
  if (__first == __last)
@@ -10,7 +10,9 @@
10
10
  #ifndef _LIBCPP___ALGORITHM_NONE_OF_H
11
11
  #define _LIBCPP___ALGORITHM_NONE_OF_H
12
12
 
13
+ #include <__algorithm/any_of.h>
13
14
  #include <__config>
15
+ #include <__functional/identity.h>
14
16
 
15
17
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
16
18
  # pragma GCC system_header
@@ -21,10 +23,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
21
23
  template <class _InputIterator, class _Predicate>
22
24
  [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool
23
25
  none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
24
- for (; __first != __last; ++__first)
25
- if (__pred(*__first))
26
- return false;
27
- return true;
26
+ __identity __proj;
27
+ return !std::__any_of(__first, __last, __pred, __proj);
28
28
  }
29
29
 
30
30
  _LIBCPP_END_NAMESPACE_STD
@@ -45,7 +45,7 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _RandomAccessIterator __part
45
45
  for (; __i != __last; ++__i) {
46
46
  if (__comp(*__i, *__first)) {
47
47
  _IterOps<_AlgPolicy>::iter_swap(__i, __first);
48
- std::__sift_down<_AlgPolicy>(__first, __comp, __len, __first);
48
+ std::__sift_down<_AlgPolicy, false>(__first, __comp, __len, 0);
49
49
  }
50
50
  }
51
51
  std::__sort_heap<_AlgPolicy>(std::move(__first), std::move(__middle), __comp);
@@ -60,7 +60,7 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 pair<_InputIterator, _Random
60
60
  for (; __first != __last; ++__first)
61
61
  if (std::__invoke(__comp, std::__invoke(__proj1, *__first), std::__invoke(__proj2, *__result_first))) {
62
62
  *__result_first = *__first;
63
- std::__sift_down<_AlgPolicy>(__result_first, __projected_comp, __len, __result_first);
63
+ std::__sift_down<_AlgPolicy, false>(__result_first, __projected_comp, __len, 0);
64
64
  }
65
65
  std::__sort_heap<_AlgPolicy>(__result_first, __r, __projected_comp);
66
66
  }
@@ -115,7 +115,7 @@ template <class _ExecutionPolicy,
115
115
  class _Predicate,
116
116
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
117
117
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
118
- _LIBCPP_HIDE_FROM_ABI __iter_diff_t<_ForwardIterator>
118
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI __iterator_difference_type<_ForwardIterator>
119
119
  count_if(_ExecutionPolicy&& __policy, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) {
120
120
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(
121
121
  _ForwardIterator, "count_if(first, last, pred) requires [first, last) to be ForwardIterators");
@@ -129,7 +129,7 @@ template <class _ExecutionPolicy,
129
129
  class _Tp,
130
130
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
131
131
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
132
- _LIBCPP_HIDE_FROM_ABI __iter_diff_t<_ForwardIterator>
132
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI __iterator_difference_type<_ForwardIterator>
133
133
  count(_ExecutionPolicy&& __policy, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) {
134
134
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(
135
135
  _ForwardIterator, "count(first, last, val) requires [first, last) to be ForwardIterators");
@@ -144,7 +144,7 @@ template <class _ExecutionPolicy,
144
144
  class _Pred,
145
145
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
146
146
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
147
- _LIBCPP_HIDE_FROM_ABI bool
147
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI bool
148
148
  equal(_ExecutionPolicy&& __policy,
149
149
  _ForwardIterator1 __first1,
150
150
  _ForwardIterator1 __last1,
@@ -166,7 +166,7 @@ template <class _ExecutionPolicy,
166
166
  class _ForwardIterator2,
167
167
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
168
168
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
169
- _LIBCPP_HIDE_FROM_ABI bool
169
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI bool
170
170
  equal(_ExecutionPolicy&& __policy, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) {
171
171
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(_ForwardIterator1, "equal requires ForwardIterators");
172
172
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(_ForwardIterator2, "equal requires ForwardIterators");
@@ -185,7 +185,7 @@ template <class _ExecutionPolicy,
185
185
  class _Pred,
186
186
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
187
187
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
188
- _LIBCPP_HIDE_FROM_ABI bool
188
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI bool
189
189
  equal(_ExecutionPolicy&& __policy,
190
190
  _ForwardIterator1 __first1,
191
191
  _ForwardIterator1 __last1,
@@ -209,7 +209,7 @@ template <class _ExecutionPolicy,
209
209
  class _ForwardIterator2,
210
210
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
211
211
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
212
- _LIBCPP_HIDE_FROM_ABI bool
212
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI bool
213
213
  equal(_ExecutionPolicy&& __policy,
214
214
  _ForwardIterator1 __first1,
215
215
  _ForwardIterator1 __last1,
@@ -259,7 +259,7 @@ template <class _ExecutionPolicy,
259
259
  class _Predicate,
260
260
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
261
261
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
262
- _LIBCPP_HIDE_FROM_ABI _ForwardIterator
262
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI _ForwardIterator
263
263
  find_if(_ExecutionPolicy&& __policy, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) {
264
264
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(_ForwardIterator, "find_if requires ForwardIterators");
265
265
  using _Implementation = __pstl::__dispatch<__pstl::__find_if, __pstl::__current_configuration, _RawPolicy>;
@@ -272,7 +272,7 @@ template <class _ExecutionPolicy,
272
272
  class _Predicate,
273
273
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
274
274
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
275
- _LIBCPP_HIDE_FROM_ABI _ForwardIterator
275
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI _ForwardIterator
276
276
  find_if_not(_ExecutionPolicy&& __policy, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) {
277
277
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(_ForwardIterator, "find_if_not requires ForwardIterators");
278
278
  using _Implementation = __pstl::__dispatch<__pstl::__find_if_not, __pstl::__current_configuration, _RawPolicy>;
@@ -285,7 +285,7 @@ template <class _ExecutionPolicy,
285
285
  class _Tp,
286
286
  class _RawPolicy = __remove_cvref_t<_ExecutionPolicy>,
287
287
  enable_if_t<is_execution_policy_v<_RawPolicy>, int> = 0>
288
- _LIBCPP_HIDE_FROM_ABI _ForwardIterator
288
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI _ForwardIterator
289
289
  find(_ExecutionPolicy&& __policy, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) {
290
290
  _LIBCPP_REQUIRE_CPP17_FORWARD_ITERATOR(_ForwardIterator, "find requires ForwardIterators");
291
291
  using _Implementation = __pstl::__dispatch<__pstl::__find, __pstl::__current_configuration, _RawPolicy>;