@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.296

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 (1103) hide show
  1. package/c/fcntl.zig +6 -1
  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 +27 -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 +9 -6
  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/build_runner.zig +2 -4
  23. package/compiler/reduce/Walk.zig +8 -13
  24. package/compiler/resinator/compile.zig +1 -1
  25. package/compiler/resinator/cvtres.zig +4 -4
  26. package/compiler/resinator/errors.zig +7 -7
  27. package/compiler/resinator/ico.zig +4 -4
  28. package/compiler/resinator/parse.zig +2 -2
  29. package/compiler/resinator/res.zig +1 -1
  30. package/compiler/std-docs.zig +1 -1
  31. package/compiler/test_runner.zig +1 -1
  32. package/compiler/translate-c/MacroTranslator.zig +1 -1
  33. package/compiler/translate-c/Translator.zig +6 -2
  34. package/compiler/translate-c/ast.zig +16 -23
  35. package/compiler/translate-c/main.zig +1 -1
  36. package/compiler_rt/addf3.zig +1 -1
  37. package/compiler_rt/arm.zig +3 -3
  38. package/compiler_rt/atomics.zig +1 -1
  39. package/compiler_rt/comparef.zig +3 -3
  40. package/compiler_rt/cos.zig +1 -3
  41. package/compiler_rt/count0bits.zig +1 -1
  42. package/compiler_rt/divdf3.zig +2 -2
  43. package/compiler_rt/divsf3.zig +1 -1
  44. package/compiler_rt/divtf3.zig +1 -1
  45. package/compiler_rt/divxf3.zig +1 -1
  46. package/compiler_rt/exp.zig +0 -2
  47. package/compiler_rt/exp2.zig +0 -2
  48. package/compiler_rt/extendf.zig +5 -5
  49. package/compiler_rt/fabs.zig +1 -3
  50. package/compiler_rt/float_from_int.zig +3 -4
  51. package/compiler_rt/fma.zig +0 -2
  52. package/compiler_rt/fmax.zig +1 -3
  53. package/compiler_rt/fmin.zig +1 -3
  54. package/compiler_rt/fmod.zig +2 -4
  55. package/compiler_rt/limb64.zig +3 -2
  56. package/compiler_rt/log.zig +0 -2
  57. package/compiler_rt/log10.zig +0 -2
  58. package/compiler_rt/log2.zig +0 -2
  59. package/compiler_rt/mulf3.zig +2 -2
  60. package/compiler_rt/rem_pio2l.zig +1 -1
  61. package/compiler_rt/round.zig +0 -2
  62. package/compiler_rt/sin.zig +1 -3
  63. package/compiler_rt/sincos.zig +1 -3
  64. package/compiler_rt/sqrt.zig +0 -2
  65. package/compiler_rt/ssp.zig +2 -2
  66. package/compiler_rt/tan.zig +1 -3
  67. package/compiler_rt/trunc.zig +0 -2
  68. package/compiler_rt/truncf.zig +3 -3
  69. package/compiler_rt/trunctfhf2.zig +3 -0
  70. package/compiler_rt.zig +5 -26
  71. package/docs/wasm/Walk.zig +1 -3
  72. package/docs/wasm/html_render.zig +1 -2
  73. package/docs/wasm/markdown/Parser.zig +16 -20
  74. package/fuzzer.zig +2 -0
  75. package/include/__clang_spirv_builtins.h +12 -12
  76. package/include/__float_float.h +176 -0
  77. package/include/__float_header_macro.h +12 -0
  78. package/include/__float_infinity_nan.h +20 -0
  79. package/include/amo.h +131 -0
  80. package/include/amxavx512intrin.h +215 -1
  81. package/include/amxintrin.h +0 -2
  82. package/include/arm_acle.h +37 -27
  83. package/include/arm_neon.h +218 -82
  84. package/include/arm_sme.h +8 -8
  85. package/include/arm_sve.h +4162 -3782
  86. package/include/avx10_2_512bf16intrin.h +19 -12
  87. package/include/avx10_2_512convertintrin.h +1 -1
  88. package/include/avx10_2_512niintrin.h +31 -31
  89. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  90. package/include/avx10_2bf16intrin.h +54 -45
  91. package/include/avx10_2convertintrin.h +2 -2
  92. package/include/avx10_2copyintrin.h +1 -1
  93. package/include/avx10_2niintrin.h +14 -14
  94. package/include/avx10_2satcvtdsintrin.h +2 -2
  95. package/include/avx2intrin.h +275 -377
  96. package/include/avx512bf16intrin.h +25 -16
  97. package/include/avx512bitalgintrin.h +19 -30
  98. package/include/avx512bwintrin.h +386 -505
  99. package/include/avx512cdintrin.h +42 -55
  100. package/include/avx512dqintrin.h +132 -161
  101. package/include/avx512fintrin.h +1015 -1424
  102. package/include/avx512fp16intrin.h +112 -110
  103. package/include/avx512ifmaintrin.h +32 -34
  104. package/include/avx512ifmavlintrin.h +73 -46
  105. package/include/avx512vbmi2intrin.h +43 -32
  106. package/include/avx512vbmiintrin.h +19 -27
  107. package/include/avx512vbmivlintrin.h +35 -49
  108. package/include/avx512vlbf16intrin.h +32 -22
  109. package/include/avx512vlbitalgintrin.h +37 -53
  110. package/include/avx512vlbwintrin.h +470 -573
  111. package/include/avx512vlcdintrin.h +74 -102
  112. package/include/avx512vldqintrin.h +110 -127
  113. package/include/avx512vlfp16intrin.h +130 -111
  114. package/include/avx512vlintrin.h +945 -1299
  115. package/include/avx512vlvbmi2intrin.h +78 -63
  116. package/include/avx512vlvnniintrin.h +21 -18
  117. package/include/avx512vlvp2intersectintrin.h +2 -2
  118. package/include/avx512vnniintrin.h +10 -10
  119. package/include/avx512vp2intersectintrin.h +1 -2
  120. package/include/avx512vpopcntdqintrin.h +8 -10
  121. package/include/avx512vpopcntdqvlintrin.h +17 -15
  122. package/include/avxifmaintrin.h +16 -0
  123. package/include/avxintrin.h +165 -241
  124. package/include/avxvnniint16intrin.h +118 -99
  125. package/include/avxvnniint8intrin.h +56 -32
  126. package/include/avxvnniintrin.h +16 -8
  127. package/include/cpuid.h +101 -4
  128. package/include/emmintrin.h +168 -168
  129. package/include/f16cintrin.h +23 -9
  130. package/include/float.h +16 -155
  131. package/include/fma4intrin.h +98 -96
  132. package/include/fmaintrin.h +96 -66
  133. package/include/gfniintrin.h +21 -16
  134. package/include/hexagon_types.h +23 -20
  135. package/include/hvx_hexagon_protos.h +649 -860
  136. package/include/immintrin.h +0 -12
  137. package/include/intrin.h +4 -0
  138. package/include/lasxintrin.h +113 -0
  139. package/include/llvm_libc_wrappers/assert.h +3 -5
  140. package/include/llvm_libc_wrappers/ctype.h +3 -115
  141. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  142. package/include/llvm_libc_wrappers/stdio.h +10 -38
  143. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  144. package/include/llvm_libc_wrappers/string.h +2 -70
  145. package/include/llvm_libc_wrappers/time.h +4 -10
  146. package/include/mmintrin.h +188 -257
  147. package/include/module.modulemap +23 -4
  148. package/include/movrs_avx10_2_512intrin.h +2 -2
  149. package/include/movrs_avx10_2intrin.h +4 -4
  150. package/include/pmmintrin.h +12 -24
  151. package/include/ptrauth.h +16 -2
  152. package/include/riscv_mips.h +34 -0
  153. package/include/riscv_nds.h +89 -0
  154. package/include/sifive_vector.h +58 -2
  155. package/include/sm4evexintrin.h +2 -2
  156. package/include/smmintrin.h +77 -59
  157. package/include/spirvintrin.h +194 -0
  158. package/include/stddefer.h +19 -0
  159. package/include/tmmintrin.h +116 -147
  160. package/include/vaesintrin.h +1 -2
  161. package/include/xmmintrin.h +44 -70
  162. package/include/xopintrin.h +20 -10
  163. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  164. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  165. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  166. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  167. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  168. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  169. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  170. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  171. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  172. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  173. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  174. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  175. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  176. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  177. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  178. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  179. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  180. package/libc/include/any-linux-any/linux/elf.h +2 -0
  181. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  182. package/libc/include/any-linux-any/linux/fs.h +1 -0
  183. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  184. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  185. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  186. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  187. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  188. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  189. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  190. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  191. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  192. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  193. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  194. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  195. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  196. package/libc/include/any-linux-any/linux/magic.h +1 -0
  197. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  198. package/libc/include/any-linux-any/linux/mount.h +11 -2
  199. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  200. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  201. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  202. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  203. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  204. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  205. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  206. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  207. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  208. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  209. package/libc/include/any-linux-any/linux/pci.h +7 -0
  210. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  211. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  212. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  213. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  214. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  215. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  216. package/libc/include/any-linux-any/linux/shm.h +0 -1
  217. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  218. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  219. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  220. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  221. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  222. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  223. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  224. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  225. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  226. package/libc/include/any-linux-any/linux/version.h +3 -3
  227. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  228. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  229. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  230. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  231. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  232. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  233. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  234. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  235. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  236. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  237. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  238. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  239. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  240. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  241. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  242. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  243. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  244. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  245. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  246. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  247. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  248. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  249. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  250. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  251. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  252. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  253. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  254. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  255. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  256. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  257. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  258. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  259. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  260. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  261. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  262. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  263. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  264. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  265. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  266. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  267. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  268. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  269. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  270. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  271. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  272. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  273. package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
  274. package/libcxx/include/__algorithm/all_of.h +11 -5
  275. package/libcxx/include/__algorithm/comp.h +4 -0
  276. package/libcxx/include/__algorithm/copy.h +28 -147
  277. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  278. package/libcxx/include/__algorithm/copy_n.h +50 -16
  279. package/libcxx/include/__algorithm/count.h +2 -2
  280. package/libcxx/include/__algorithm/equal.h +43 -55
  281. package/libcxx/include/__algorithm/fill.h +26 -8
  282. package/libcxx/include/__algorithm/fill_n.h +32 -46
  283. package/libcxx/include/__algorithm/find.h +96 -39
  284. package/libcxx/include/__algorithm/find_end.h +105 -0
  285. package/libcxx/include/__algorithm/for_each.h +18 -24
  286. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  287. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  288. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  289. package/libcxx/include/__algorithm/generate.h +4 -2
  290. package/libcxx/include/__algorithm/generate_n.h +19 -6
  291. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  292. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  293. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  294. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  295. package/libcxx/include/__algorithm/make_heap.h +16 -4
  296. package/libcxx/include/__algorithm/mismatch.h +2 -2
  297. package/libcxx/include/__algorithm/move.h +8 -19
  298. package/libcxx/include/__algorithm/move_backward.h +9 -24
  299. package/libcxx/include/__algorithm/none_of.h +4 -4
  300. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  301. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  302. package/libcxx/include/__algorithm/pstl.h +9 -9
  303. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  304. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  305. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  306. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  307. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  308. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  309. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  310. package/libcxx/include/__algorithm/rotate.h +27 -44
  311. package/libcxx/include/__algorithm/search_n.h +49 -37
  312. package/libcxx/include/__algorithm/sift_down.h +19 -18
  313. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  314. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  315. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  316. package/libcxx/include/__assertion_handler +31 -4
  317. package/libcxx/include/__atomic/atomic.h +36 -60
  318. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  319. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  320. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  321. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  322. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  323. package/libcxx/include/__atomic/contention_t.h +27 -3
  324. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  325. package/libcxx/include/__bit/countl.h +1 -2
  326. package/libcxx/include/__bit/countr.h +1 -2
  327. package/libcxx/include/__bit/has_single_bit.h +1 -1
  328. package/libcxx/include/__bit/popcount.h +0 -1
  329. package/libcxx/include/__bit/rotate.h +15 -26
  330. package/libcxx/include/__bit_reference +207 -18
  331. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  332. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  333. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  334. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  335. package/libcxx/include/__charconv/traits.h +3 -24
  336. package/libcxx/include/__chrono/day.h +11 -0
  337. package/libcxx/include/__chrono/duration.h +58 -33
  338. package/libcxx/include/__chrono/file_clock.h +4 -2
  339. package/libcxx/include/__chrono/is_clock.h +72 -0
  340. package/libcxx/include/__chrono/leap_second.h +13 -0
  341. package/libcxx/include/__chrono/month.h +13 -0
  342. package/libcxx/include/__chrono/month_weekday.h +22 -0
  343. package/libcxx/include/__chrono/monthday.h +20 -0
  344. package/libcxx/include/__chrono/steady_clock.h +1 -1
  345. package/libcxx/include/__chrono/system_clock.h +3 -3
  346. package/libcxx/include/__chrono/time_point.h +37 -13
  347. package/libcxx/include/__chrono/weekday.h +25 -0
  348. package/libcxx/include/__chrono/year.h +11 -0
  349. package/libcxx/include/__chrono/year_month.h +13 -0
  350. package/libcxx/include/__chrono/year_month_day.h +23 -0
  351. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  352. package/libcxx/include/__chrono/zoned_time.h +16 -0
  353. package/libcxx/include/__compare/is_eq.h +6 -6
  354. package/libcxx/include/__compare/strong_order.h +12 -30
  355. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  356. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  357. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  358. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  359. package/libcxx/include/__config +63 -280
  360. package/libcxx/include/__configuration/abi.h +14 -24
  361. package/libcxx/include/__configuration/availability.h +65 -118
  362. package/libcxx/include/__configuration/compiler.h +6 -6
  363. package/libcxx/include/__configuration/experimental.h +38 -0
  364. package/libcxx/include/__configuration/hardening.h +215 -0
  365. package/libcxx/include/__configuration/language.h +3 -0
  366. package/libcxx/include/__configuration/platform.h +9 -16
  367. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  368. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  369. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  370. package/libcxx/include/__exception/exception.h +6 -4
  371. package/libcxx/include/__exception/exception_ptr.h +27 -5
  372. package/libcxx/include/__exception/nested_exception.h +2 -2
  373. package/libcxx/include/__exception/operations.h +5 -5
  374. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  375. package/libcxx/include/__expected/expected.h +62 -64
  376. package/libcxx/include/__expected/unexpected.h +4 -4
  377. package/libcxx/include/__filesystem/copy_options.h +4 -4
  378. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  379. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  380. package/libcxx/include/__filesystem/directory_options.h +7 -4
  381. package/libcxx/include/__filesystem/file_status.h +3 -3
  382. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  383. package/libcxx/include/__filesystem/operations.h +97 -66
  384. package/libcxx/include/__filesystem/path.h +68 -64
  385. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  386. package/libcxx/include/__filesystem/perm_options.h +4 -4
  387. package/libcxx/include/__filesystem/perms.h +4 -4
  388. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  389. package/libcxx/include/__filesystem/space_info.h +1 -1
  390. package/libcxx/include/__filesystem/u8path.h +12 -14
  391. package/libcxx/include/__flat_map/flat_map.h +88 -71
  392. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  393. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  394. package/libcxx/include/__flat_map/utils.h +1 -0
  395. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  396. package/libcxx/include/__flat_set/flat_set.h +86 -68
  397. package/libcxx/include/__format/concepts.h +0 -14
  398. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  399. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  400. package/libcxx/include/__format/format_arg.h +7 -10
  401. package/libcxx/include/__format/format_args.h +1 -1
  402. package/libcxx/include/__format/format_context.h +5 -5
  403. package/libcxx/include/__format/format_parse_context.h +2 -2
  404. package/libcxx/include/__format/formatter_output.h +30 -34
  405. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  406. package/libcxx/include/__format/range_default_formatter.h +2 -41
  407. package/libcxx/include/__format/range_format.h +71 -0
  408. package/libcxx/include/__format/range_formatter.h +1 -0
  409. package/libcxx/include/__format/width_estimation_table.h +4 -2
  410. package/libcxx/include/__functional/bind.h +10 -15
  411. package/libcxx/include/__functional/bind_back.h +1 -1
  412. package/libcxx/include/__functional/bind_front.h +1 -1
  413. package/libcxx/include/__functional/function.h +57 -75
  414. package/libcxx/include/__functional/hash.h +1 -10
  415. package/libcxx/include/__functional/identity.h +1 -1
  416. package/libcxx/include/__functional/is_transparent.h +8 -0
  417. package/libcxx/include/__functional/mem_fn.h +2 -1
  418. package/libcxx/include/__functional/operations.h +18 -0
  419. package/libcxx/include/__functional/ranges_operations.h +7 -0
  420. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  421. package/libcxx/include/__functional/weak_result_type.h +14 -28
  422. package/libcxx/include/__fwd/ios.h +1 -1
  423. package/libcxx/include/__fwd/tuple.h +14 -0
  424. package/libcxx/include/__hash_table +371 -357
  425. package/libcxx/include/__ios/fpos.h +4 -4
  426. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  427. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  428. package/libcxx/include/__iterator/concepts.h +6 -9
  429. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  430. package/libcxx/include/__iterator/distance.h +40 -18
  431. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  432. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  433. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  434. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  435. package/libcxx/include/__iterator/iter_move.h +1 -1
  436. package/libcxx/include/__iterator/iterator.h +13 -0
  437. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  438. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  439. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  440. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  441. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  442. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  443. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  444. package/libcxx/include/__locale +3 -10
  445. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  446. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  447. package/libcxx/include/__locale_dir/messages.h +1 -1
  448. package/libcxx/include/__locale_dir/money.h +2 -2
  449. package/libcxx/include/__locale_dir/num.h +190 -243
  450. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  451. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  452. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  453. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  454. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  455. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  456. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  457. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  458. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  459. package/libcxx/include/__locale_dir/time.h +3 -7
  460. package/libcxx/include/__math/hypot.h +1 -1
  461. package/libcxx/include/__math/logarithms.h +1 -1
  462. package/libcxx/include/__math/traits.h +80 -11
  463. package/libcxx/include/__mdspan/extents.h +7 -4
  464. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  465. package/libcxx/include/__mdspan/mdspan.h +29 -23
  466. package/libcxx/include/__memory/addressof.h +7 -5
  467. package/libcxx/include/__memory/align.h +18 -1
  468. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  469. package/libcxx/include/__memory/allocator.h +14 -26
  470. package/libcxx/include/__memory/allocator_traits.h +6 -4
  471. package/libcxx/include/__memory/compressed_pair.h +15 -9
  472. package/libcxx/include/__memory/construct_at.h +12 -23
  473. package/libcxx/include/__memory/inout_ptr.h +1 -1
  474. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  475. package/libcxx/include/__memory/out_ptr.h +1 -1
  476. package/libcxx/include/__memory/pointer_traits.h +1 -1
  477. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  478. package/libcxx/include/__memory/shared_count.h +9 -30
  479. package/libcxx/include/__memory/shared_ptr.h +100 -145
  480. package/libcxx/include/__memory/temp_value.h +1 -2
  481. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  482. package/libcxx/include/__memory/unique_ptr.h +14 -16
  483. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  484. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  485. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  486. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  487. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  488. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  489. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  490. package/libcxx/include/__mutex/mutex.h +2 -2
  491. package/libcxx/include/__mutex/once_flag.h +14 -11
  492. package/libcxx/include/__mutex/tag_types.h +3 -3
  493. package/libcxx/include/__mutex/unique_lock.h +8 -7
  494. package/libcxx/include/__new/align_val_t.h +6 -0
  495. package/libcxx/include/__new/allocate.h +1 -2
  496. package/libcxx/include/__new/exceptions.h +8 -2
  497. package/libcxx/include/__new/global_new_delete.h +4 -11
  498. package/libcxx/include/__new/interference_size.h +0 -4
  499. package/libcxx/include/__new/launder.h +3 -5
  500. package/libcxx/include/__new/nothrow_t.h +1 -1
  501. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  502. package/libcxx/include/__numeric/midpoint.h +9 -14
  503. package/libcxx/include/__numeric/pstl.h +2 -2
  504. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  505. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  506. package/libcxx/include/__pstl/backends/default.h +14 -14
  507. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  508. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  509. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  510. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  511. package/libcxx/include/__random/binomial_distribution.h +10 -4
  512. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  513. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  514. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  515. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  516. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  517. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  518. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  519. package/libcxx/include/__ranges/common_view.h +7 -7
  520. package/libcxx/include/__ranges/drop_view.h +8 -8
  521. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  522. package/libcxx/include/__ranges/elements_of.h +49 -0
  523. package/libcxx/include/__ranges/empty_view.h +5 -5
  524. package/libcxx/include/__ranges/filter_view.h +10 -10
  525. package/libcxx/include/__ranges/iota_view.h +41 -22
  526. package/libcxx/include/__ranges/owning_view.h +15 -15
  527. package/libcxx/include/__ranges/ref_view.h +6 -6
  528. package/libcxx/include/__ranges/repeat_view.h +17 -10
  529. package/libcxx/include/__ranges/single_view.h +8 -8
  530. package/libcxx/include/__ranges/take_view.h +9 -9
  531. package/libcxx/include/__ranges/transform_view.h +1 -2
  532. package/libcxx/include/__ranges/view_interface.h +10 -10
  533. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  534. package/libcxx/include/__ranges/zip_view.h +20 -20
  535. package/libcxx/include/__split_buffer +612 -240
  536. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  537. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  538. package/libcxx/include/__stop_token/stop_source.h +1 -1
  539. package/libcxx/include/__stop_token/stop_state.h +4 -4
  540. package/libcxx/include/__stop_token/stop_token.h +1 -1
  541. package/libcxx/include/__string/char_traits.h +51 -31
  542. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  543. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  544. package/libcxx/include/__system_error/error_category.h +8 -8
  545. package/libcxx/include/__system_error/error_code.h +5 -5
  546. package/libcxx/include/__system_error/error_condition.h +4 -4
  547. package/libcxx/include/__system_error/system_error.h +1 -1
  548. package/libcxx/include/__thread/id.h +1 -1
  549. package/libcxx/include/__thread/jthread.h +1 -1
  550. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  551. package/libcxx/include/__thread/support/c11.h +8 -8
  552. package/libcxx/include/__thread/support/pthread.h +8 -8
  553. package/libcxx/include/__thread/support/windows.h +8 -8
  554. package/libcxx/include/__thread/thread.h +13 -8
  555. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  556. package/libcxx/include/__tree +849 -701
  557. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  558. package/libcxx/include/__tuple/tuple_element.h +0 -12
  559. package/libcxx/include/__tuple/tuple_size.h +0 -4
  560. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  561. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  562. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  563. package/libcxx/include/__type_traits/invoke.h +8 -0
  564. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  565. package/libcxx/include/__type_traits/is_array.h +26 -0
  566. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  567. package/libcxx/include/__type_traits/is_final.h +1 -1
  568. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  569. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  570. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  571. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  572. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  573. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  574. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  575. package/libcxx/include/__utility/cmp.h +19 -7
  576. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  577. package/libcxx/include/__utility/in_place.h +1 -1
  578. package/libcxx/include/__utility/integer_sequence.h +56 -41
  579. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  580. package/libcxx/include/__utility/pair.h +22 -25
  581. package/libcxx/include/__utility/scope_guard.h +2 -0
  582. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  583. package/libcxx/include/__vector/vector.h +187 -160
  584. package/libcxx/include/__vector/vector_bool.h +76 -83
  585. package/libcxx/include/any +118 -155
  586. package/libcxx/include/array +88 -56
  587. package/libcxx/include/atomic +2 -0
  588. package/libcxx/include/barrier +20 -24
  589. package/libcxx/include/bitset +49 -30
  590. package/libcxx/include/ccomplex +3 -11
  591. package/libcxx/include/chrono +47 -0
  592. package/libcxx/include/ciso646 +3 -6
  593. package/libcxx/include/complex +77 -65
  594. package/libcxx/include/complex.h +10 -10
  595. package/libcxx/include/condition_variable +3 -3
  596. package/libcxx/include/cstdalign +3 -10
  597. package/libcxx/include/cstdbool +3 -10
  598. package/libcxx/include/ctgmath +2 -11
  599. package/libcxx/include/ctype.h +24 -24
  600. package/libcxx/include/cwchar +2 -2
  601. package/libcxx/include/deque +109 -225
  602. package/libcxx/include/errno.h +269 -269
  603. package/libcxx/include/exception +4 -1
  604. package/libcxx/include/ext/hash_map +7 -48
  605. package/libcxx/include/ext/hash_set +2 -8
  606. package/libcxx/include/fenv.h +43 -43
  607. package/libcxx/include/flat_map +663 -11
  608. package/libcxx/include/flat_set +543 -8
  609. package/libcxx/include/float.h +16 -16
  610. package/libcxx/include/forward_list +33 -53
  611. package/libcxx/include/fstream +57 -42
  612. package/libcxx/include/future +41 -51
  613. package/libcxx/include/initializer_list +9 -3
  614. package/libcxx/include/inttypes.h +16 -16
  615. package/libcxx/include/ios +28 -28
  616. package/libcxx/include/istream +19 -13
  617. package/libcxx/include/iterator +10 -0
  618. package/libcxx/include/latch +7 -5
  619. package/libcxx/include/limits +4 -4
  620. package/libcxx/include/list +61 -79
  621. package/libcxx/include/map +386 -274
  622. package/libcxx/include/math.h +19 -0
  623. package/libcxx/include/mdspan +1 -5
  624. package/libcxx/include/mutex +29 -19
  625. package/libcxx/include/optional +644 -149
  626. package/libcxx/include/print +9 -5
  627. package/libcxx/include/queue +39 -37
  628. package/libcxx/include/ranges +48 -0
  629. package/libcxx/include/regex +33 -31
  630. package/libcxx/include/scoped_allocator +16 -11
  631. package/libcxx/include/semaphore +15 -18
  632. package/libcxx/include/set +220 -192
  633. package/libcxx/include/shared_mutex +3 -8
  634. package/libcxx/include/span +53 -37
  635. package/libcxx/include/sstream +34 -28
  636. package/libcxx/include/stack +13 -15
  637. package/libcxx/include/stddef.h +10 -10
  638. package/libcxx/include/stdexcept +2 -2
  639. package/libcxx/include/stdio.h +20 -21
  640. package/libcxx/include/streambuf +59 -19
  641. package/libcxx/include/string +574 -573
  642. package/libcxx/include/string_view +113 -89
  643. package/libcxx/include/strstream +10 -10
  644. package/libcxx/include/syncstream +4 -4
  645. package/libcxx/include/tgmath.h +12 -12
  646. package/libcxx/include/tuple +242 -212
  647. package/libcxx/include/type_traits +8 -2
  648. package/libcxx/include/typeindex +5 -3
  649. package/libcxx/include/typeinfo +92 -89
  650. package/libcxx/include/unordered_map +179 -304
  651. package/libcxx/include/unordered_set +168 -195
  652. package/libcxx/include/utility +12 -0
  653. package/libcxx/include/valarray +106 -161
  654. package/libcxx/include/variant +25 -33
  655. package/libcxx/include/version +41 -24
  656. package/libcxx/include/wctype.h +29 -29
  657. package/libcxx/libc/hdr/errno_macros.h +3 -1
  658. package/libcxx/libc/hdr/stdint_proxy.h +18 -0
  659. package/libcxx/libc/hdr/types/wchar_t.h +23 -0
  660. package/libcxx/libc/hdr/wchar_overlay.h +69 -0
  661. package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
  662. package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
  663. package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
  664. package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
  665. package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
  666. package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
  667. package/libcxx/libc/shared/libc_common.h +5 -0
  668. package/libcxx/libc/src/__support/CPP/bit.h +50 -12
  669. package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
  670. package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
  671. package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
  672. package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
  673. package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
  674. package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
  675. package/libcxx/libc/src/__support/big_int.h +14 -14
  676. package/libcxx/libc/src/__support/common.h +3 -2
  677. package/libcxx/libc/src/__support/ctype_utils.h +19 -12
  678. package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
  679. package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
  680. package/libcxx/libc/src/__support/libc_assert.h +2 -0
  681. package/libcxx/libc/src/__support/macros/attributes.h +44 -1
  682. package/libcxx/libc/src/__support/macros/config.h +23 -0
  683. package/libcxx/libc/src/__support/macros/null_check.h +1 -2
  684. package/libcxx/libc/src/__support/macros/optimization.h +3 -0
  685. package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
  686. package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
  687. package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
  688. package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
  689. package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
  690. package/libcxx/libc/src/__support/math_extras.h +20 -4
  691. package/libcxx/libc/src/__support/str_to_float.h +98 -125
  692. package/libcxx/libc/src/__support/str_to_integer.h +39 -27
  693. package/libcxx/libc/src/__support/wctype_utils.h +588 -0
  694. package/libcxx/src/any.cpp +4 -0
  695. package/libcxx/src/atomic.cpp +365 -80
  696. package/libcxx/src/barrier.cpp +4 -3
  697. package/libcxx/src/charconv.cpp +6 -3
  698. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  699. package/libcxx/src/error_category.cpp +3 -1
  700. package/libcxx/src/exception.cpp +2 -10
  701. package/libcxx/src/experimental/time_zone.cpp +1 -1
  702. package/libcxx/src/experimental/tzdb.cpp +4 -1
  703. package/libcxx/src/filesystem/error.h +4 -22
  704. package/libcxx/src/filesystem/format_string.h +9 -18
  705. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  706. package/libcxx/src/filesystem/operations.cpp +2 -9
  707. package/libcxx/src/filesystem/path.cpp +3 -1
  708. package/libcxx/src/include/aligned_alloc.h +65 -0
  709. package/libcxx/src/include/config_elast.h +1 -1
  710. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  711. package/libcxx/src/include/overridable_function.h +8 -10
  712. package/libcxx/src/iostream.cpp +56 -37
  713. package/libcxx/src/locale.cpp +213 -196
  714. package/libcxx/src/memory.cpp +12 -14
  715. package/libcxx/src/mutex_destructor.cpp +1 -1
  716. package/libcxx/src/new.cpp +5 -5
  717. package/libcxx/src/optional.cpp +4 -0
  718. package/libcxx/src/print.cpp +9 -1
  719. package/libcxx/src/random.cpp +0 -26
  720. package/libcxx/src/string.cpp +10 -25
  721. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  722. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  723. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  724. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  725. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  726. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  727. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  728. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  729. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  730. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  731. package/libcxx/src/system_error.cpp +2 -0
  732. package/libcxx/src/thread.cpp +1 -3
  733. package/libcxx/src/valarray.cpp +1 -2
  734. package/libcxx/src/vector.cpp +2 -2
  735. package/libcxxabi/include/__cxxabi_config.h +42 -23
  736. package/libcxxabi/src/cxa_exception.cpp +4 -2
  737. package/libcxxabi/src/cxa_exception.h +16 -14
  738. package/libcxxabi/src/cxa_personality.cpp +126 -9
  739. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  740. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  741. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  742. package/libcxxabi/src/demangle/Utility.h +21 -7
  743. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  744. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  745. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  746. package/libtsan/LICENSE.TXT +311 -0
  747. package/libtsan/builtins/assembly.h +41 -8
  748. package/libtsan/interception/interception_win.cpp +4 -0
  749. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  750. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  751. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  752. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  753. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  754. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  755. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  756. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  757. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  758. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  759. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  760. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  761. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  762. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  763. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  764. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  765. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  766. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  767. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  768. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  769. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  770. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  771. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  772. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  773. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  774. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  775. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  776. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  777. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  778. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  779. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  780. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  781. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  782. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  783. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  784. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  785. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  786. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  787. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  788. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  789. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  790. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  791. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  792. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  793. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  794. package/libtsan/tsan_debugging.cpp +2 -2
  795. package/libtsan/tsan_flags.cpp +37 -0
  796. package/libtsan/tsan_flags.h +8 -0
  797. package/libtsan/tsan_flags.inc +12 -0
  798. package/libtsan/tsan_interceptors.h +9 -1
  799. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  800. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  801. package/libtsan/tsan_interface.h +3 -3
  802. package/libtsan/tsan_interface_ann.cpp +23 -9
  803. package/libtsan/tsan_mman.cpp +18 -4
  804. package/libtsan/tsan_platform.h +44 -7
  805. package/libtsan/tsan_platform_linux.cpp +42 -14
  806. package/libtsan/tsan_platform_mac.cpp +16 -3
  807. package/libtsan/tsan_report.h +14 -1
  808. package/libtsan/tsan_rtl.cpp +14 -0
  809. package/libtsan/tsan_rtl.h +7 -2
  810. package/libtsan/tsan_rtl_aarch64.S +3 -5
  811. package/libtsan/tsan_rtl_access.cpp +8 -3
  812. package/libtsan/tsan_rtl_amd64.S +2 -0
  813. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  814. package/libtsan/tsan_rtl_report.cpp +132 -65
  815. package/libtsan/tsan_rtl_thread.cpp +31 -9
  816. package/libtsan/tsan_symbolize.cpp +1 -1
  817. package/libtsan/tsan_symbolize.h +1 -1
  818. package/libtsan/tsan_trace.h +1 -1
  819. package/libunwind/include/__libunwind_config.h +11 -2
  820. package/libunwind/include/libunwind.h +117 -11
  821. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  822. package/libunwind/src/AddressSpace.hpp +42 -20
  823. package/libunwind/src/CompactUnwinder.hpp +16 -5
  824. package/libunwind/src/DwarfInstructions.hpp +24 -13
  825. package/libunwind/src/DwarfParser.hpp +62 -23
  826. package/libunwind/src/EHHeaderParser.hpp +7 -4
  827. package/libunwind/src/Registers.hpp +226 -22
  828. package/libunwind/src/Unwind-seh.cpp +6 -7
  829. package/libunwind/src/Unwind-wasm.c +7 -7
  830. package/libunwind/src/UnwindCursor.hpp +167 -49
  831. package/libunwind/src/UnwindLevel1.c +46 -17
  832. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  833. package/libunwind/src/UnwindRegistersSave.S +86 -2
  834. package/libunwind/src/assembly.h +5 -1
  835. package/libunwind/src/config.h +9 -0
  836. package/libunwind/src/gcc_personality_v0.c +79 -6
  837. package/libunwind/src/libunwind.cpp +104 -4
  838. package/libunwind/src/libunwind_ext.h +7 -1
  839. package/libunwind/src/shadow_stack_unwind.h +2 -2
  840. package/lldb/pretty_printers.py +948 -0
  841. package/package.json +1 -1
  842. package/std/Build/Cache/Path.zig +1 -1
  843. package/std/Build/Cache.zig +6 -6
  844. package/std/Build/Step/Compile.zig +18 -20
  845. package/std/Build/Step/ConfigHeader.zig +1 -1
  846. package/std/Build/Step/Run.zig +15 -8
  847. package/std/Build/Step.zig +3 -7
  848. package/std/Build/Watch/FsEvents.zig +1 -1
  849. package/std/Build/WebServer.zig +2 -2
  850. package/std/Build/abi.zig +1 -1
  851. package/std/Build.zig +0 -3
  852. package/std/Io/Dir.zig +9 -4
  853. package/std/Io/Dispatch.zig +8 -18
  854. package/std/Io/File/Writer.zig +8 -6
  855. package/std/Io/File.zig +0 -9
  856. package/std/Io/Kqueue.zig +3 -3
  857. package/std/Io/Reader.zig +8 -14
  858. package/std/Io/Semaphore.zig +112 -17
  859. package/std/Io/Terminal.zig +1 -1
  860. package/std/Io/Threaded.zig +183 -46
  861. package/std/Io/Uring.zig +18 -20
  862. package/std/Io/Writer.zig +10 -7
  863. package/std/Io/net/HostName.zig +11 -6
  864. package/std/Io/net.zig +11 -11
  865. package/std/Io.zig +104 -38
  866. package/std/Random/ChaCha.zig +2 -2
  867. package/std/Random/benchmark.zig +2 -2
  868. package/std/Random.zig +6 -6
  869. package/std/SemanticVersion.zig +1 -1
  870. package/std/Target/Query.zig +2 -2
  871. package/std/Target/aarch64.zig +620 -77
  872. package/std/Target/amdgcn.zig +421 -21
  873. package/std/Target/arm.zig +40 -6
  874. package/std/Target/bpf.zig +6 -0
  875. package/std/Target/hexagon.zig +41 -6
  876. package/std/Target/loongarch.zig +18 -0
  877. package/std/Target/mips.zig +6 -0
  878. package/std/Target/nvptx.zig +58 -35
  879. package/std/Target/powerpc.zig +27 -19
  880. package/std/Target/riscv.zig +415 -177
  881. package/std/Target/sparc.zig +17 -0
  882. package/std/Target/wasm.zig +7 -0
  883. package/std/Target/x86.zig +200 -31
  884. package/std/Target/xtensa.zig +65 -0
  885. package/std/Target.zig +67 -14
  886. package/std/Thread.zig +5 -2
  887. package/std/array_hash_map.zig +103 -57
  888. package/std/array_list.zig +10 -31
  889. package/std/base64.zig +5 -5
  890. package/std/bit_set.zig +86 -69
  891. package/std/c/haiku.zig +3 -0
  892. package/std/c/serenity.zig +1 -6
  893. package/std/c.zig +123 -32
  894. package/std/compress/flate/Decompress.zig +3 -4
  895. package/std/compress/zstd/Decompress.zig +7 -9
  896. package/std/crypto/25519/curve25519.zig +2 -2
  897. package/std/crypto/25519/edwards25519.zig +3 -3
  898. package/std/crypto/25519/ristretto255.zig +2 -2
  899. package/std/crypto/25519/scalar.zig +6 -6
  900. package/std/crypto/25519/x25519.zig +1 -1
  901. package/std/crypto/Certificate.zig +14 -2
  902. package/std/crypto/Sha1.zig +1 -1
  903. package/std/crypto/aegis.zig +45 -39
  904. package/std/crypto/aes_ccm.zig +22 -22
  905. package/std/crypto/aes_gcm.zig +10 -12
  906. package/std/crypto/aes_ocb.zig +9 -9
  907. package/std/crypto/argon2.zig +15 -15
  908. package/std/crypto/ascon.zig +75 -33
  909. package/std/crypto/bcrypt.zig +20 -10
  910. package/std/crypto/benchmark.zig +7 -7
  911. package/std/crypto/blake2.zig +100 -64
  912. package/std/crypto/cbc_mac.zig +1 -1
  913. package/std/crypto/chacha20.zig +10 -10
  914. package/std/crypto/cmac.zig +3 -3
  915. package/std/crypto/codecs/asn1/Oid.zig +12 -1
  916. package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
  917. package/std/crypto/codecs/asn1.zig +1 -1
  918. package/std/crypto/codecs/base64_hex_ct.zig +3 -5
  919. package/std/crypto/ecdsa.zig +9 -9
  920. package/std/crypto/ff.zig +4 -5
  921. package/std/crypto/ghash_polyval.zig +4 -4
  922. package/std/crypto/hkdf.zig +1 -1
  923. package/std/crypto/isap.zig +3 -3
  924. package/std/crypto/kangarootwelve.zig +1 -1
  925. package/std/crypto/keccak_p.zig +8 -8
  926. package/std/crypto/md5.zig +1 -1
  927. package/std/crypto/ml_dsa.zig +39 -39
  928. package/std/crypto/ml_kem.zig +12 -34
  929. package/std/crypto/modes.zig +2 -2
  930. package/std/crypto/pbkdf2.zig +1 -1
  931. package/std/crypto/pcurves/common.zig +4 -5
  932. package/std/crypto/pcurves/p256/scalar.zig +3 -3
  933. package/std/crypto/pcurves/p384/scalar.zig +2 -2
  934. package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
  935. package/std/crypto/pcurves/tests/p256.zig +5 -5
  936. package/std/crypto/pcurves/tests/p384.zig +5 -5
  937. package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
  938. package/std/crypto/salsa20.zig +8 -8
  939. package/std/crypto/sha2.zig +2 -2
  940. package/std/crypto/sha3.zig +2 -2
  941. package/std/crypto/siphash.zig +1 -1
  942. package/std/crypto/timing_safe.zig +10 -9
  943. package/std/crypto/tls/Client.zig +89 -13
  944. package/std/crypto/tls.zig +1 -1
  945. package/std/crypto.zig +4 -3
  946. package/std/debug/Dwarf.zig +15 -12
  947. package/std/debug/Pdb.zig +25 -17
  948. package/std/debug.zig +14 -8
  949. package/std/deque.zig +1 -1
  950. package/std/elf.zig +1 -1
  951. package/std/enums.zig +8 -8
  952. package/std/fmt/parse_float/decimal.zig +1 -1
  953. package/std/fmt/parse_float.zig +1 -1
  954. package/std/fmt.zig +14 -10
  955. package/std/fs/path.zig +7 -5
  956. package/std/hash/Adler32.zig +3 -3
  957. package/std/hash/benchmark.zig +2 -2
  958. package/std/hash/wyhash.zig +2 -2
  959. package/std/hash/xxhash.zig +0 -6
  960. package/std/hash_map.zig +20 -1
  961. package/std/heap/BufferFirstAllocator.zig +165 -0
  962. package/std/heap/debug_allocator.zig +2 -2
  963. package/std/heap/memory_pool.zig +34 -197
  964. package/std/heap.zig +2 -133
  965. package/std/http/Client.zig +21 -24
  966. package/std/http.zig +4 -5
  967. package/std/json/Scanner.zig +2 -2
  968. package/std/json/static.zig +2 -2
  969. package/std/{builtin.zig → lang.zig} +5 -1
  970. package/std/leb128.zig +2 -2
  971. package/std/math/big/int.zig +5 -5
  972. package/std/math/big.zig +4 -4
  973. package/std/math/copysign.zig +1 -1
  974. package/std/math/float.zig +62 -0
  975. package/std/math/frexp.zig +4 -4
  976. package/std/math/ilogb.zig +1 -1
  977. package/std/math/isfinite.zig +1 -1
  978. package/std/math/isinf.zig +1 -1
  979. package/std/math/isnan.zig +1 -2
  980. package/std/math/isnormal.zig +2 -2
  981. package/std/math/iszero.zig +2 -2
  982. package/std/math/ldexp.zig +2 -2
  983. package/std/math/log10.zig +0 -2
  984. package/std/math/modf.zig +1 -2
  985. package/std/math/nextafter.zig +3 -4
  986. package/std/math/pow.zig +1 -1
  987. package/std/math/powi.zig +2 -3
  988. package/std/math/signbit.zig +0 -1
  989. package/std/math.zig +21 -26
  990. package/std/mem/Allocator.zig +0 -6
  991. package/std/mem.zig +31 -31
  992. package/std/meta/trailer_flags.zig +1 -1
  993. package/std/meta.zig +4 -36
  994. package/std/multi_array_list.zig +24 -0
  995. package/std/os/emscripten.zig +7 -6
  996. package/std/os/linux/IoUring.zig +2 -0
  997. package/std/os/linux/aarch64.zig +41 -12
  998. package/std/os/linux/arc.zig +41 -12
  999. package/std/os/linux/arm.zig +41 -12
  1000. package/std/os/linux/bpf.zig +6 -0
  1001. package/std/os/linux/hexagon.zig +33 -11
  1002. package/std/os/linux/ioctl.zig +2 -2
  1003. package/std/os/linux/loongarch32.zig +41 -13
  1004. package/std/os/linux/loongarch64.zig +41 -12
  1005. package/std/os/linux/m68k.zig +41 -13
  1006. package/std/os/linux/mips.zig +67 -36
  1007. package/std/os/linux/mips64.zig +60 -29
  1008. package/std/os/linux/mipsn32.zig +60 -29
  1009. package/std/os/linux/or1k.zig +41 -12
  1010. package/std/os/linux/powerpc.zig +41 -12
  1011. package/std/os/linux/powerpc64.zig +41 -12
  1012. package/std/os/linux/riscv32.zig +41 -12
  1013. package/std/os/linux/riscv64.zig +41 -12
  1014. package/std/os/linux/s390x.zig +44 -7
  1015. package/std/os/linux/sparc64.zig +83 -52
  1016. package/std/os/linux/syscalls.zig +26 -1
  1017. package/std/os/linux/thumb.zig +52 -36
  1018. package/std/os/linux/x32.zig +41 -12
  1019. package/std/os/linux/x86.zig +44 -15
  1020. package/std/os/linux/x86_64.zig +41 -12
  1021. package/std/os/linux.zig +416 -450
  1022. package/std/os/plan9.zig +1 -1
  1023. package/std/os/uefi/hii.zig +1 -1
  1024. package/std/os/uefi/tables/boot_services.zig +9 -8
  1025. package/std/os/uefi/tables/runtime_services.zig +1 -1
  1026. package/std/os/windows.zig +130 -1
  1027. package/std/os.zig +41 -0
  1028. package/std/posix.zig +1 -1
  1029. package/std/process/Environ.zig +1 -1
  1030. package/std/process.zig +5 -4
  1031. package/std/simd.zig +4 -21
  1032. package/std/sort.zig +3 -3
  1033. package/std/start.zig +17 -4
  1034. package/std/std.zig +8 -1
  1035. package/std/tar/Writer.zig +39 -33
  1036. package/std/tar.zig +8 -4
  1037. package/std/testing.zig +2 -2
  1038. package/std/unicode.zig +13 -8
  1039. package/std/zig/Ast/Render.zig +6 -30
  1040. package/std/zig/Ast.zig +12 -37
  1041. package/std/zig/AstGen.zig +175 -332
  1042. package/std/zig/AstRlAnnotate.zig +1 -22
  1043. package/std/zig/AstSmith.zig +5 -11
  1044. package/std/zig/BuiltinFn.zig +0 -32
  1045. package/std/zig/ErrorBundle.zig +6 -2
  1046. package/std/zig/LibCDirs.zig +15 -6
  1047. package/std/zig/LibCInstallation.zig +34 -12
  1048. package/std/zig/Parse.zig +11 -76
  1049. package/std/zig/TokenSmith.zig +0 -6
  1050. package/std/zig/WindowsSdk.zig +18 -18
  1051. package/std/zig/Zir.zig +65 -132
  1052. package/std/zig/ZonGen.zig +19 -27
  1053. package/std/zig/llvm/Builder.zig +39 -33
  1054. package/std/zig/llvm/bitcode_writer.zig +3 -3
  1055. package/std/zig/llvm/ir.zig +8 -8
  1056. package/std/zig/system/arm.zig +56 -2
  1057. package/std/zig/system/windows.zig +34 -1
  1058. package/std/zig/system/x86.zig +60 -16
  1059. package/std/zig/system.zig +0 -10
  1060. package/std/zig/target.zig +1 -4
  1061. package/std/zig/tokenizer.zig +4 -43
  1062. package/std/zig.zig +3 -14
  1063. package/std/zip.zig +5 -5
  1064. package/std/zon/parse.zig +1 -1
  1065. package/zig.h +340 -1
  1066. package/compiler_rt/long_double.zig +0 -37
  1067. package/include/amxbf16transposeintrin.h +0 -94
  1068. package/include/amxcomplextransposeintrin.h +0 -303
  1069. package/include/amxfp16transposeintrin.h +0 -94
  1070. package/include/amxmovrstransposeintrin.h +0 -200
  1071. package/include/amxtf32transposeintrin.h +0 -105
  1072. package/include/amxtransposeintrin.h +0 -248
  1073. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  1074. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  1075. package/libc/mingw/math/lrintl.c +0 -18
  1076. package/libc/mingw/math/rintl.c +0 -16
  1077. package/libc/mingw/winpthreads/spinlock.c +0 -82
  1078. package/libc/musl/src/linux/tee.c +0 -8
  1079. package/libc/musl/src/math/i386/lrintl.c +0 -8
  1080. package/libc/musl/src/math/i386/rintl.c +0 -7
  1081. package/libc/musl/src/math/lrintl.c +0 -36
  1082. package/libc/musl/src/math/rintl.c +0 -29
  1083. package/libc/musl/src/math/s390x/rintl.c +0 -15
  1084. package/libc/musl/src/math/x32/lrintl.s +0 -7
  1085. package/libc/musl/src/math/x32/rintl.s +0 -6
  1086. package/libc/musl/src/math/x86_64/lrintl.c +0 -8
  1087. package/libc/musl/src/math/x86_64/rintl.c +0 -7
  1088. package/libc/musl/src/string/strdup.c +0 -10
  1089. package/libc/musl/src/string/strndup.c +0 -12
  1090. package/libc/musl/src/string/wcsdup.c +0 -10
  1091. package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
  1092. package/libc/musl/src/thread/pthread_spin_init.c +0 -6
  1093. package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
  1094. package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
  1095. package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
  1096. package/libc/musl/src/unistd/dup2.c +0 -20
  1097. package/libc/musl/src/unistd/dup3.c +0 -26
  1098. package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
  1099. package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
  1100. package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
  1101. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  1102. package/std/Build/Step/CheckObject.zig +0 -2764
  1103. /package/std/{builtin → lang}/assembly.zig +0 -0
@@ -13,6 +13,8 @@
13
13
  #include <__compare/ordering.h>
14
14
  #include <__compare/three_way_comparable.h>
15
15
  #include <__config>
16
+ #include <__cstddef/size_t.h>
17
+ #include <__functional/hash.h>
16
18
  #include <__type_traits/common_type.h>
17
19
  #include <__type_traits/enable_if.h>
18
20
  #include <__type_traits/is_convertible.h>
@@ -102,7 +104,8 @@ struct __duration_cast<_FromDuration, _ToDuration, _Period, false, false> {
102
104
  };
103
105
 
104
106
  template <class _ToDuration, class _Rep, class _Period, __enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
105
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration duration_cast(const duration<_Rep, _Period>& __fd) {
107
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration
108
+ duration_cast(const duration<_Rep, _Period>& __fd) {
106
109
  return __duration_cast<duration<_Rep, _Period>, _ToDuration>()(__fd);
107
110
  }
108
111
 
@@ -117,14 +120,18 @@ inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<_Rep>:
117
120
  template <class _Rep>
118
121
  struct duration_values {
119
122
  public:
120
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep zero() _NOEXCEPT { return _Rep(0); }
121
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep max() _NOEXCEPT { return numeric_limits<_Rep>::max(); }
122
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep min() _NOEXCEPT { return numeric_limits<_Rep>::lowest(); }
123
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep zero() _NOEXCEPT { return _Rep(0); }
124
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep max() _NOEXCEPT {
125
+ return numeric_limits<_Rep>::max();
126
+ }
127
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR _Rep min() _NOEXCEPT {
128
+ return numeric_limits<_Rep>::lowest();
129
+ }
123
130
  };
124
131
 
125
132
  #if _LIBCPP_STD_VER >= 17
126
133
  template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
127
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration floor(const duration<_Rep, _Period>& __d) {
134
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration floor(const duration<_Rep, _Period>& __d) {
128
135
  _ToDuration __t = chrono::duration_cast<_ToDuration>(__d);
129
136
  if (__t > __d)
130
137
  __t = __t - _ToDuration{1};
@@ -132,7 +139,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration floor(const duration<
132
139
  }
133
140
 
134
141
  template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
135
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration ceil(const duration<_Rep, _Period>& __d) {
142
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration ceil(const duration<_Rep, _Period>& __d) {
136
143
  _ToDuration __t = chrono::duration_cast<_ToDuration>(__d);
137
144
  if (__t < __d)
138
145
  __t = __t + _ToDuration{1};
@@ -140,7 +147,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration ceil(const duration<_
140
147
  }
141
148
 
142
149
  template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
143
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration round(const duration<_Rep, _Period>& __d) {
150
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _ToDuration round(const duration<_Rep, _Period>& __d) {
144
151
  _ToDuration __lower = chrono::floor<_ToDuration>(__d);
145
152
  _ToDuration __upper = __lower + _ToDuration{1};
146
153
  auto __lower_diff = __d - __lower;
@@ -220,14 +227,14 @@ public:
220
227
 
221
228
  // observer
222
229
 
223
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR rep count() const { return __rep_; }
230
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR rep count() const { return __rep_; }
224
231
 
225
232
  // arithmetic
226
233
 
227
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<duration>::type operator+() const {
234
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<duration>::type operator+() const {
228
235
  return typename common_type<duration>::type(*this);
229
236
  }
230
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<duration>::type operator-() const {
237
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<duration>::type operator-() const {
231
238
  return typename common_type<duration>::type(-__rep_);
232
239
  }
233
240
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 duration& operator++() {
@@ -269,13 +276,13 @@ public:
269
276
 
270
277
  // special values
271
278
 
272
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration zero() _NOEXCEPT {
279
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration zero() _NOEXCEPT {
273
280
  return duration(duration_values<rep>::zero());
274
281
  }
275
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration min() _NOEXCEPT {
282
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration min() _NOEXCEPT {
276
283
  return duration(duration_values<rep>::min());
277
284
  }
278
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration max() _NOEXCEPT {
285
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR duration max() _NOEXCEPT {
279
286
  return duration(duration_values<rep>::max());
280
287
  }
281
288
  };
@@ -389,7 +396,7 @@ operator<=>(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Perio
389
396
  // Duration +
390
397
 
391
398
  template <class _Rep1, class _Period1, class _Rep2, class _Period2>
392
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
399
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
393
400
  typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
394
401
  operator+(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
395
402
  typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd;
@@ -399,7 +406,7 @@ operator+(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2
399
406
  // Duration -
400
407
 
401
408
  template <class _Rep1, class _Period1, class _Rep2, class _Period2>
402
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
409
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
403
410
  typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
404
411
  operator-(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
405
412
  typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd;
@@ -412,7 +419,8 @@ template <class _Rep1,
412
419
  class _Period,
413
420
  class _Rep2,
414
421
  __enable_if_t<is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0>
415
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
422
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
423
+ _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
416
424
  operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) {
417
425
  typedef typename common_type<_Rep1, _Rep2>::type _Cr;
418
426
  typedef duration<_Cr, _Period> _Cd;
@@ -423,7 +431,8 @@ template <class _Rep1,
423
431
  class _Period,
424
432
  class _Rep2,
425
433
  __enable_if_t<is_convertible<const _Rep1&, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0>
426
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
434
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
435
+ _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
427
436
  operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) {
428
437
  return __d * __s;
429
438
  }
@@ -436,7 +445,8 @@ template <class _Rep1,
436
445
  __enable_if_t<!__is_duration_v<_Rep2> &&
437
446
  is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value,
438
447
  int> = 0>
439
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
448
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
449
+ _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
440
450
  operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) {
441
451
  typedef typename common_type<_Rep1, _Rep2>::type _Cr;
442
452
  typedef duration<_Cr, _Period> _Cd;
@@ -444,7 +454,7 @@ operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) {
444
454
  }
445
455
 
446
456
  template <class _Rep1, class _Period1, class _Rep2, class _Period2>
447
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<_Rep1, _Rep2>::type
457
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR typename common_type<_Rep1, _Rep2>::type
448
458
  operator/(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
449
459
  typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Ct;
450
460
  return _Ct(__lhs).count() / _Ct(__rhs).count();
@@ -458,7 +468,8 @@ template <class _Rep1,
458
468
  __enable_if_t<!__is_duration_v<_Rep2> &&
459
469
  is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value,
460
470
  int> = 0>
461
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
471
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
472
+ _LIBCPP_CONSTEXPR duration<typename common_type<_Rep1, _Rep2>::type, _Period>
462
473
  operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) {
463
474
  typedef typename common_type<_Rep1, _Rep2>::type _Cr;
464
475
  typedef duration<_Cr, _Period> _Cd;
@@ -466,7 +477,7 @@ operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) {
466
477
  }
467
478
 
468
479
  template <class _Rep1, class _Period1, class _Rep2, class _Period2>
469
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
480
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR
470
481
  typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
471
482
  operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
472
483
  typedef typename common_type<_Rep1, _Rep2>::type _Cr;
@@ -481,51 +492,53 @@ operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2
481
492
  inline namespace literals {
482
493
  inline namespace chrono_literals {
483
494
 
484
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::hours operator""h(unsigned long long __h) {
495
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::hours operator""h(unsigned long long __h) {
485
496
  return chrono::hours(static_cast<chrono::hours::rep>(__h));
486
497
  }
487
498
 
488
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, ratio<3600, 1>> operator""h(long double __h) {
499
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, ratio<3600, 1>>
500
+ operator""h(long double __h) {
489
501
  return chrono::duration<long double, ratio<3600, 1>>(__h);
490
502
  }
491
503
 
492
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::minutes operator""min(unsigned long long __m) {
504
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::minutes operator""min(unsigned long long __m) {
493
505
  return chrono::minutes(static_cast<chrono::minutes::rep>(__m));
494
506
  }
495
507
 
496
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, ratio<60, 1>> operator""min(long double __m) {
508
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, ratio<60, 1>>
509
+ operator""min(long double __m) {
497
510
  return chrono::duration<long double, ratio<60, 1>>(__m);
498
511
  }
499
512
 
500
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::seconds operator""s(unsigned long long __s) {
513
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::seconds operator""s(unsigned long long __s) {
501
514
  return chrono::seconds(static_cast<chrono::seconds::rep>(__s));
502
515
  }
503
516
 
504
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double> operator""s(long double __s) {
517
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double> operator""s(long double __s) {
505
518
  return chrono::duration<long double>(__s);
506
519
  }
507
520
 
508
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::milliseconds operator""ms(unsigned long long __ms) {
521
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::milliseconds operator""ms(unsigned long long __ms) {
509
522
  return chrono::milliseconds(static_cast<chrono::milliseconds::rep>(__ms));
510
523
  }
511
524
 
512
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, milli> operator""ms(long double __ms) {
525
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, milli> operator""ms(long double __ms) {
513
526
  return chrono::duration<long double, milli>(__ms);
514
527
  }
515
528
 
516
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::microseconds operator""us(unsigned long long __us) {
529
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::microseconds operator""us(unsigned long long __us) {
517
530
  return chrono::microseconds(static_cast<chrono::microseconds::rep>(__us));
518
531
  }
519
532
 
520
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, micro> operator""us(long double __us) {
533
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, micro> operator""us(long double __us) {
521
534
  return chrono::duration<long double, micro>(__us);
522
535
  }
523
536
 
524
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::nanoseconds operator""ns(unsigned long long __ns) {
537
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::nanoseconds operator""ns(unsigned long long __ns) {
525
538
  return chrono::nanoseconds(static_cast<chrono::nanoseconds::rep>(__ns));
526
539
  }
527
540
 
528
- _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, nano> operator""ns(long double __ns) {
541
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI constexpr chrono::duration<long double, nano> operator""ns(long double __ns) {
529
542
  return chrono::duration<long double, nano>(__ns);
530
543
  }
531
544
 
@@ -538,6 +551,18 @@ using namespace literals::chrono_literals;
538
551
 
539
552
  #endif // _LIBCPP_STD_VER >= 14
540
553
 
554
+ #if _LIBCPP_STD_VER >= 26
555
+
556
+ template <class _Rep, class _Period>
557
+ requires __has_enabled_hash<_Rep>::value
558
+ struct hash<chrono::duration<_Rep, _Period>> {
559
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::duration<_Rep, _Period>& __d) {
560
+ return hash<_Rep>{}(__d.count());
561
+ }
562
+ };
563
+
564
+ #endif // _LIBCPP_STD_VER >= 26
565
+
541
566
  _LIBCPP_END_NAMESPACE_STD
542
567
 
543
568
  _LIBCPP_POP_MACROS
@@ -60,16 +60,18 @@ struct _FilesystemClock {
60
60
 
61
61
  _LIBCPP_EXPORTED_FROM_ABI static _LIBCPP_CONSTEXPR_SINCE_CXX14 const bool is_steady = false;
62
62
 
63
- _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_EXPORTED_FROM_ABI static time_point now() noexcept;
63
+ [[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI static time_point now() noexcept;
64
64
 
65
65
  # if _LIBCPP_STD_VER >= 20
66
66
  template <class _Duration>
67
+ [[nodiscard]]
67
68
  _LIBCPP_HIDE_FROM_ABI static chrono::sys_time<_Duration> to_sys(const chrono::file_time<_Duration>& __t) {
68
69
  return chrono::sys_time<_Duration>(__t.time_since_epoch());
69
70
  }
70
71
 
71
72
  template <class _Duration>
72
- _LIBCPP_HIDE_FROM_ABI static chrono::file_time<_Duration> from_sys(const chrono::sys_time<_Duration>& __t) {
73
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI static chrono::file_time<_Duration>
74
+ from_sys(const chrono::sys_time<_Duration>& __t) {
73
75
  return chrono::file_time<_Duration>(__t.time_since_epoch());
74
76
  }
75
77
  # endif // _LIBCPP_STD_VER >= 20
@@ -0,0 +1,72 @@
1
+ // -*- C++ -*-
2
+ //===----------------------------------------------------------------------===//
3
+ //
4
+ // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
+ // See https://llvm.org/LICENSE.txt for license information.
6
+ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
+ //
8
+ //===----------------------------------------------------------------------===//
9
+
10
+ #ifndef _LIBCPP___CHRONO_IS_CLOCK_H
11
+ #define _LIBCPP___CHRONO_IS_CLOCK_H
12
+
13
+ #include <__config>
14
+
15
+ #include <__chrono/duration.h>
16
+ #include <__chrono/time_point.h>
17
+ #include <__concepts/same_as.h>
18
+ #include <__type_traits/integral_constant.h>
19
+ #include <__type_traits/is_arithmetic.h>
20
+ #include <__type_traits/is_class.h>
21
+ #include <__type_traits/is_union.h>
22
+ #include <ratio>
23
+
24
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
25
+ # pragma GCC system_header
26
+ #endif
27
+
28
+ #if _LIBCPP_STD_VER >= 20
29
+
30
+ _LIBCPP_BEGIN_NAMESPACE_STD
31
+
32
+ namespace chrono {
33
+
34
+ // Helper to check that _Tp::time_point has the form time_point<_, typename _Tp::duration>.
35
+ template <class _TimePoint, class _ClockType>
36
+ inline constexpr bool __is_valid_clock_time_point_v = false;
37
+
38
+ template <class _TimePointClock, class _ClockType>
39
+ inline constexpr bool
40
+ __is_valid_clock_time_point_v<time_point<_TimePointClock, typename _ClockType::duration>, _ClockType> = true;
41
+
42
+ // Check if a clock satisfies the Cpp17Clock requirements as defined in [time.clock.req]
43
+ template <class _Tp>
44
+ _LIBCPP_NO_SPECIALIZATIONS inline constexpr bool is_clock_v = requires {
45
+ typename _Tp::rep;
46
+ requires is_arithmetic_v<typename _Tp::rep> || is_class_v<typename _Tp::rep> || is_union_v<typename _Tp::rep>;
47
+
48
+ typename _Tp::period;
49
+ requires __is_ratio_v<typename _Tp::period>;
50
+
51
+ typename _Tp::duration;
52
+ requires same_as<typename _Tp::duration, duration<typename _Tp::rep, typename _Tp::period>>;
53
+
54
+ typename _Tp::time_point;
55
+ requires __is_valid_clock_time_point_v<typename _Tp::time_point, _Tp>;
56
+
57
+ _Tp::is_steady;
58
+ requires same_as<decltype((_Tp::is_steady)), const bool&>;
59
+
60
+ _Tp::now();
61
+ requires same_as<decltype(_Tp::now()), typename _Tp::time_point>;
62
+ };
63
+
64
+ template <class _Tp>
65
+ struct _LIBCPP_NO_SPECIALIZATIONS is_clock : bool_constant<is_clock_v<_Tp>> {};
66
+
67
+ } // namespace chrono
68
+
69
+ _LIBCPP_END_NAMESPACE_STD
70
+
71
+ #endif // _LIBCPP_STD_VER
72
+ #endif // _LIBCPP___CHRONO_IS_CLOCK_H
@@ -22,6 +22,8 @@
22
22
  # include <__compare/ordering.h>
23
23
  # include <__compare/three_way_comparable.h>
24
24
  # include <__config>
25
+ # include <__cstddef/size_t.h>
26
+ # include <__functional/hash.h>
25
27
  # include <__utility/private_constructor_tag.h>
26
28
 
27
29
  # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -122,6 +124,17 @@ private:
122
124
 
123
125
  } // namespace chrono
124
126
 
127
+ # if _LIBCPP_STD_VER >= 26
128
+
129
+ template <>
130
+ struct hash<chrono::leap_second> {
131
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::leap_second& __lp) noexcept {
132
+ return std::__hash_combine(hash<chrono::sys_seconds>{}(__lp.date()), hash<chrono::seconds>{}(__lp.value()));
133
+ }
134
+ };
135
+
136
+ # endif // _LIBCPP_STD_VER >= 26
137
+
125
138
  # endif // _LIBCPP_STD_VER >= 20
126
139
 
127
140
  _LIBCPP_END_NAMESPACE_STD
@@ -13,6 +13,8 @@
13
13
  #include <__chrono/duration.h>
14
14
  #include <__compare/ordering.h>
15
15
  #include <__config>
16
+ #include <__cstddef/size_t.h>
17
+ #include <__functional/hash.h>
16
18
 
17
19
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
18
20
  # pragma GCC system_header
@@ -108,6 +110,17 @@ inline constexpr month December{12};
108
110
 
109
111
  } // namespace chrono
110
112
 
113
+ # if _LIBCPP_STD_VER >= 26
114
+
115
+ template <>
116
+ struct hash<chrono::month> {
117
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::month& __m) noexcept {
118
+ return static_cast<unsigned>(__m);
119
+ }
120
+ };
121
+
122
+ # endif // _LIBCPP_STD_VER >= 26
123
+
111
124
  _LIBCPP_END_NAMESPACE_STD
112
125
 
113
126
  #endif // _LIBCPP_STD_VER >= 20
@@ -13,6 +13,8 @@
13
13
  #include <__chrono/month.h>
14
14
  #include <__chrono/weekday.h>
15
15
  #include <__config>
16
+ #include <__cstddef/size_t.h>
17
+ #include <__functional/hash.h>
16
18
 
17
19
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
18
20
  # pragma GCC system_header
@@ -98,6 +100,26 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr month_weekday_last operator/(const weekda
98
100
  }
99
101
  } // namespace chrono
100
102
 
103
+ # if _LIBCPP_STD_VER >= 26
104
+
105
+ template <>
106
+ struct hash<chrono::month_weekday> {
107
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::month_weekday& __mw) noexcept {
108
+ return std::__hash_combine(
109
+ hash<chrono::month>{}(__mw.month()), hash<chrono::weekday_indexed>{}(__mw.weekday_indexed()));
110
+ }
111
+ };
112
+
113
+ template <>
114
+ struct hash<chrono::month_weekday_last> {
115
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::month_weekday_last& __mwl) noexcept {
116
+ return std::__hash_combine(
117
+ hash<chrono::month>{}(__mwl.month()), hash<chrono::weekday_last>{}(__mwl.weekday_last()));
118
+ }
119
+ };
120
+
121
+ # endif // _LIBCPP_STD_VER >= 26
122
+
101
123
  _LIBCPP_END_NAMESPACE_STD
102
124
 
103
125
  #endif // _LIBCPP_STD_VER >= 20
@@ -15,6 +15,8 @@
15
15
  #include <__chrono/month.h>
16
16
  #include <__compare/ordering.h>
17
17
  #include <__config>
18
+ #include <__cstddef/size_t.h>
19
+ #include <__functional/hash.h>
18
20
 
19
21
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
20
22
  # pragma GCC system_header
@@ -126,6 +128,24 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr month_day_last operator/(last_spec, int _
126
128
 
127
129
  } // namespace chrono
128
130
 
131
+ # if _LIBCPP_STD_VER >= 26
132
+
133
+ template <>
134
+ struct hash<chrono::month_day> {
135
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::month_day& __md) noexcept {
136
+ return std::__hash_combine(hash<chrono::month>{}(__md.month()), hash<chrono::day>{}(__md.day()));
137
+ }
138
+ };
139
+
140
+ template <>
141
+ struct hash<chrono::month_day_last> {
142
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::month_day_last& __mdl) noexcept {
143
+ return hash<chrono::month>{}(__mdl.month());
144
+ }
145
+ };
146
+
147
+ # endif // _LIBCPP_STD_VER >= 26
148
+
129
149
  _LIBCPP_END_NAMESPACE_STD
130
150
 
131
151
  #endif // _LIBCPP_STD_VER >= 20
@@ -31,7 +31,7 @@ public:
31
31
  typedef chrono::time_point<steady_clock, duration> time_point;
32
32
  static _LIBCPP_CONSTEXPR_SINCE_CXX14 const bool is_steady = true;
33
33
 
34
- static time_point now() _NOEXCEPT;
34
+ [[__nodiscard__]] static time_point now() _NOEXCEPT;
35
35
  };
36
36
  #endif
37
37
 
@@ -31,9 +31,9 @@ public:
31
31
  typedef chrono::time_point<system_clock> time_point;
32
32
  static _LIBCPP_CONSTEXPR_SINCE_CXX14 const bool is_steady = false;
33
33
 
34
- static time_point now() _NOEXCEPT;
35
- static time_t to_time_t(const time_point& __t) _NOEXCEPT;
36
- static time_point from_time_t(time_t __t) _NOEXCEPT;
34
+ [[__nodiscard__]] static time_point now() _NOEXCEPT;
35
+ [[__nodiscard__]] static time_t to_time_t(const time_point& __t) _NOEXCEPT;
36
+ [[__nodiscard__]] static time_point from_time_t(time_t __t) _NOEXCEPT;
37
37
  };
38
38
 
39
39
  #if _LIBCPP_STD_VER >= 20
@@ -14,6 +14,8 @@
14
14
  #include <__compare/ordering.h>
15
15
  #include <__compare/three_way_comparable.h>
16
16
  #include <__config>
17
+ #include <__cstddef/size_t.h>
18
+ #include <__functional/hash.h>
17
19
  #include <__type_traits/common_type.h>
18
20
  #include <__type_traits/enable_if.h>
19
21
  #include <__type_traits/is_convertible.h>
@@ -54,7 +56,9 @@ public:
54
56
 
55
57
  // observer
56
58
 
57
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 duration time_since_epoch() const { return __d_; }
59
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 duration time_since_epoch() const {
60
+ return __d_;
61
+ }
58
62
 
59
63
  // arithmetic
60
64
 
@@ -82,8 +86,12 @@ public:
82
86
 
83
87
  // special values
84
88
 
85
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR time_point min() _NOEXCEPT { return time_point(duration::min()); }
86
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR time_point max() _NOEXCEPT { return time_point(duration::max()); }
89
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR time_point min() _NOEXCEPT {
90
+ return time_point(duration::min());
91
+ }
92
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR time_point max() _NOEXCEPT {
93
+ return time_point(duration::max());
94
+ }
87
95
  };
88
96
 
89
97
  } // namespace chrono
@@ -95,30 +103,33 @@ struct common_type<chrono::time_point<_Clock, _Duration1>, chrono::time_point<_C
95
103
 
96
104
  namespace chrono {
97
105
 
98
- template <class _ToDuration, class _Clock, class _Duration>
99
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 time_point<_Clock, _ToDuration>
106
+ template <class _ToDuration, class _Clock, class _Duration, __enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
107
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 time_point<_Clock, _ToDuration>
100
108
  time_point_cast(const time_point<_Clock, _Duration>& __t) {
101
109
  return time_point<_Clock, _ToDuration>(chrono::duration_cast<_ToDuration>(__t.time_since_epoch()));
102
110
  }
103
111
 
104
112
  #if _LIBCPP_STD_VER >= 17
105
113
  template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
106
- inline _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration> floor(const time_point<_Clock, _Duration>& __t) {
114
+ [[nodiscard]] inline
115
+ _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration> floor(const time_point<_Clock, _Duration>& __t) {
107
116
  return time_point<_Clock, _ToDuration>{chrono::floor<_ToDuration>(__t.time_since_epoch())};
108
117
  }
109
118
 
110
119
  template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
111
- inline _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration> ceil(const time_point<_Clock, _Duration>& __t) {
120
+ [[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration>
121
+ ceil(const time_point<_Clock, _Duration>& __t) {
112
122
  return time_point<_Clock, _ToDuration>{chrono::ceil<_ToDuration>(__t.time_since_epoch())};
113
123
  }
114
124
 
115
125
  template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0>
116
- inline _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration> round(const time_point<_Clock, _Duration>& __t) {
126
+ [[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI constexpr time_point<_Clock, _ToDuration>
127
+ round(const time_point<_Clock, _Duration>& __t) {
117
128
  return time_point<_Clock, _ToDuration>{chrono::round<_ToDuration>(__t.time_since_epoch())};
118
129
  }
119
130
 
120
131
  template <class _Rep, class _Period, enable_if_t<numeric_limits<_Rep>::is_signed, int> = 0>
121
- inline _LIBCPP_HIDE_FROM_ABI constexpr duration<_Rep, _Period> abs(duration<_Rep, _Period> __d) {
132
+ [[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI constexpr duration<_Rep, _Period> abs(duration<_Rep, _Period> __d) {
122
133
  return __d >= __d.zero() ? +__d : -__d;
123
134
  }
124
135
  #endif // _LIBCPP_STD_VER >= 17
@@ -188,7 +199,7 @@ operator<=>(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock
188
199
  // time_point operator+(time_point x, duration y);
189
200
 
190
201
  template <class _Clock, class _Duration1, class _Rep2, class _Period2>
191
- inline _LIBCPP_HIDE_FROM_ABI
202
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
192
203
  _LIBCPP_CONSTEXPR_SINCE_CXX14 time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type>
193
204
  operator+(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
194
205
  typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Tr;
@@ -198,7 +209,7 @@ operator+(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Pe
198
209
  // time_point operator+(duration x, time_point y);
199
210
 
200
211
  template <class _Rep1, class _Period1, class _Clock, class _Duration2>
201
- inline _LIBCPP_HIDE_FROM_ABI
212
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
202
213
  _LIBCPP_CONSTEXPR_SINCE_CXX14 time_point<_Clock, typename common_type<duration<_Rep1, _Period1>, _Duration2>::type>
203
214
  operator+(const duration<_Rep1, _Period1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) {
204
215
  return __rhs + __lhs;
@@ -207,7 +218,7 @@ operator+(const duration<_Rep1, _Period1>& __lhs, const time_point<_Clock, _Dura
207
218
  // time_point operator-(time_point x, duration y);
208
219
 
209
220
  template <class _Clock, class _Duration1, class _Rep2, class _Period2>
210
- inline _LIBCPP_HIDE_FROM_ABI
221
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
211
222
  _LIBCPP_CONSTEXPR_SINCE_CXX14 time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type>
212
223
  operator-(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) {
213
224
  typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Ret;
@@ -217,13 +228,26 @@ operator-(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Pe
217
228
  // duration operator-(time_point x, time_point y);
218
229
 
219
230
  template <class _Clock, class _Duration1, class _Duration2>
220
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename common_type<_Duration1, _Duration2>::type
231
+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
232
+ typename common_type<_Duration1, _Duration2>::type
221
233
  operator-(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) {
222
234
  return __lhs.time_since_epoch() - __rhs.time_since_epoch();
223
235
  }
224
236
 
225
237
  } // namespace chrono
226
238
 
239
+ #if _LIBCPP_STD_VER >= 26
240
+
241
+ template <class _Clock, class _Duration>
242
+ requires __has_enabled_hash<_Duration>::value
243
+ struct hash<chrono::time_point<_Clock, _Duration>> {
244
+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::time_point<_Clock, _Duration>& __tp) {
245
+ return hash<_Duration>{}(__tp.time_since_epoch());
246
+ }
247
+ };
248
+
249
+ #endif // _LIBCPP_STD_VER >= 26
250
+
227
251
  _LIBCPP_END_NAMESPACE_STD
228
252
 
229
253
  _LIBCPP_POP_MACROS
@@ -15,6 +15,8 @@
15
15
  #include <__chrono/system_clock.h>
16
16
  #include <__chrono/time_point.h>
17
17
  #include <__config>
18
+ #include <__cstddef/size_t.h>
19
+ #include <__functional/hash.h>
18
20
 
19
21
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
20
22
  # pragma GCC system_header
@@ -160,6 +162,29 @@ inline constexpr weekday Saturday{6};
160
162
 
161
163
  } // namespace chrono
162
164
 
165
+ # if _LIBCPP_STD_VER >= 26
166
+
167
+ template <>
168
+ struct hash<chrono::weekday> {
169
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::weekday& __w) noexcept { return __w.c_encoding(); }
170
+ };
171
+
172
+ template <>
173
+ struct hash<chrono::weekday_indexed> {
174
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::weekday_indexed& __wi) noexcept {
175
+ return std::__hash_combine(hash<chrono::weekday>{}(__wi.weekday()), __wi.index());
176
+ }
177
+ };
178
+
179
+ template <>
180
+ struct hash<chrono::weekday_last> {
181
+ _LIBCPP_HIDE_FROM_ABI static size_t operator()(const chrono::weekday_last& __wl) noexcept {
182
+ return hash<chrono::weekday>{}(__wl.weekday());
183
+ }
184
+ };
185
+
186
+ # endif // _LIBCPP_STD_VER >= 26
187
+
163
188
  _LIBCPP_END_NAMESPACE_STD
164
189
 
165
190
  #endif // _LIBCPP_STD_VER >= 20