@zigc/lib 0.17.0-dev.131 → 0.17.0-dev.215

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 (786) hide show
  1. package/c/stdlib.zig +32 -22
  2. package/compiler/aro/aro/Compilation.zig +0 -3
  3. package/compiler/translate-c/ast.zig +5 -2
  4. package/compiler_rt/arm.zig +3 -3
  5. package/compiler_rt/trunctfhf2.zig +3 -0
  6. package/compiler_rt.zig +1 -22
  7. package/docs/wasm/markdown/Parser.zig +5 -9
  8. package/include/__clang_spirv_builtins.h +12 -12
  9. package/include/__float_float.h +176 -0
  10. package/include/__float_header_macro.h +12 -0
  11. package/include/__float_infinity_nan.h +20 -0
  12. package/include/amo.h +131 -0
  13. package/include/amxavx512intrin.h +215 -1
  14. package/include/amxintrin.h +0 -2
  15. package/include/arm_acle.h +37 -27
  16. package/include/arm_neon.h +218 -82
  17. package/include/arm_sme.h +8 -8
  18. package/include/arm_sve.h +4162 -3782
  19. package/include/avx10_2_512bf16intrin.h +19 -12
  20. package/include/avx10_2_512convertintrin.h +1 -1
  21. package/include/avx10_2_512niintrin.h +31 -31
  22. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  23. package/include/avx10_2bf16intrin.h +54 -45
  24. package/include/avx10_2convertintrin.h +2 -2
  25. package/include/avx10_2copyintrin.h +1 -1
  26. package/include/avx10_2niintrin.h +14 -14
  27. package/include/avx10_2satcvtdsintrin.h +2 -2
  28. package/include/avx2intrin.h +275 -377
  29. package/include/avx512bf16intrin.h +25 -16
  30. package/include/avx512bitalgintrin.h +19 -30
  31. package/include/avx512bwintrin.h +386 -505
  32. package/include/avx512cdintrin.h +42 -55
  33. package/include/avx512dqintrin.h +132 -161
  34. package/include/avx512fintrin.h +1015 -1424
  35. package/include/avx512fp16intrin.h +112 -110
  36. package/include/avx512ifmaintrin.h +32 -34
  37. package/include/avx512ifmavlintrin.h +73 -46
  38. package/include/avx512vbmi2intrin.h +43 -32
  39. package/include/avx512vbmiintrin.h +19 -27
  40. package/include/avx512vbmivlintrin.h +35 -49
  41. package/include/avx512vlbf16intrin.h +32 -22
  42. package/include/avx512vlbitalgintrin.h +37 -53
  43. package/include/avx512vlbwintrin.h +470 -573
  44. package/include/avx512vlcdintrin.h +74 -102
  45. package/include/avx512vldqintrin.h +110 -127
  46. package/include/avx512vlfp16intrin.h +130 -111
  47. package/include/avx512vlintrin.h +945 -1299
  48. package/include/avx512vlvbmi2intrin.h +78 -63
  49. package/include/avx512vlvnniintrin.h +21 -18
  50. package/include/avx512vlvp2intersectintrin.h +2 -2
  51. package/include/avx512vnniintrin.h +10 -10
  52. package/include/avx512vp2intersectintrin.h +1 -2
  53. package/include/avx512vpopcntdqintrin.h +8 -10
  54. package/include/avx512vpopcntdqvlintrin.h +17 -15
  55. package/include/avxifmaintrin.h +16 -0
  56. package/include/avxintrin.h +165 -241
  57. package/include/avxvnniint16intrin.h +118 -99
  58. package/include/avxvnniint8intrin.h +56 -32
  59. package/include/avxvnniintrin.h +16 -8
  60. package/include/cpuid.h +101 -4
  61. package/include/emmintrin.h +168 -168
  62. package/include/f16cintrin.h +23 -9
  63. package/include/float.h +16 -155
  64. package/include/fma4intrin.h +98 -96
  65. package/include/fmaintrin.h +96 -66
  66. package/include/gfniintrin.h +21 -16
  67. package/include/hexagon_types.h +23 -20
  68. package/include/hvx_hexagon_protos.h +649 -860
  69. package/include/immintrin.h +0 -12
  70. package/include/intrin.h +4 -0
  71. package/include/lasxintrin.h +113 -0
  72. package/include/llvm_libc_wrappers/assert.h +3 -5
  73. package/include/llvm_libc_wrappers/ctype.h +3 -115
  74. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  75. package/include/llvm_libc_wrappers/stdio.h +10 -38
  76. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  77. package/include/llvm_libc_wrappers/string.h +2 -70
  78. package/include/llvm_libc_wrappers/time.h +4 -10
  79. package/include/mmintrin.h +188 -257
  80. package/include/module.modulemap +23 -4
  81. package/include/movrs_avx10_2_512intrin.h +2 -2
  82. package/include/movrs_avx10_2intrin.h +4 -4
  83. package/include/pmmintrin.h +12 -24
  84. package/include/ptrauth.h +16 -2
  85. package/include/riscv_mips.h +34 -0
  86. package/include/riscv_nds.h +89 -0
  87. package/include/sifive_vector.h +58 -2
  88. package/include/sm4evexintrin.h +2 -2
  89. package/include/smmintrin.h +77 -59
  90. package/include/spirvintrin.h +194 -0
  91. package/include/stddefer.h +19 -0
  92. package/include/tmmintrin.h +116 -147
  93. package/include/vaesintrin.h +1 -2
  94. package/include/xmmintrin.h +44 -70
  95. package/include/xopintrin.h +20 -10
  96. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  97. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  98. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  99. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  100. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  101. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  102. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  103. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  104. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  105. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  106. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  107. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  108. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  109. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  110. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  111. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  112. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  113. package/libc/include/any-linux-any/linux/elf.h +2 -0
  114. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  115. package/libc/include/any-linux-any/linux/fs.h +1 -0
  116. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  117. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  118. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  119. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  120. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  121. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  122. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  123. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  124. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  125. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  126. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  127. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  128. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  129. package/libc/include/any-linux-any/linux/magic.h +1 -0
  130. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  131. package/libc/include/any-linux-any/linux/mount.h +11 -2
  132. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  133. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  134. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  135. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  136. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  137. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  138. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  139. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  140. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  141. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  142. package/libc/include/any-linux-any/linux/pci.h +7 -0
  143. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  144. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  145. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  146. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  147. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  148. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  149. package/libc/include/any-linux-any/linux/shm.h +0 -1
  150. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  151. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  152. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  153. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  154. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  155. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  156. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  157. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  158. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  159. package/libc/include/any-linux-any/linux/version.h +3 -3
  160. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  161. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  162. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  163. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  164. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  165. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  166. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  167. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  168. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  169. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  170. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  171. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  172. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  173. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  174. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  175. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  176. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  177. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  178. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  179. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  180. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  181. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  182. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  183. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  184. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  185. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  186. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  187. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  188. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  189. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  190. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  191. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  192. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  193. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  194. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  195. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  196. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  197. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  198. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  199. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  200. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  201. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  202. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  203. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  204. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  205. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  206. package/libcxx/include/__algorithm/all_of.h +11 -5
  207. package/libcxx/include/__algorithm/comp.h +4 -0
  208. package/libcxx/include/__algorithm/copy.h +28 -147
  209. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  210. package/libcxx/include/__algorithm/copy_n.h +50 -16
  211. package/libcxx/include/__algorithm/count.h +2 -2
  212. package/libcxx/include/__algorithm/equal.h +43 -55
  213. package/libcxx/include/__algorithm/fill.h +26 -8
  214. package/libcxx/include/__algorithm/fill_n.h +32 -46
  215. package/libcxx/include/__algorithm/find.h +96 -39
  216. package/libcxx/include/__algorithm/find_end.h +105 -0
  217. package/libcxx/include/__algorithm/for_each.h +18 -24
  218. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  219. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  220. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  221. package/libcxx/include/__algorithm/generate.h +4 -2
  222. package/libcxx/include/__algorithm/generate_n.h +19 -6
  223. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  224. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  225. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  226. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  227. package/libcxx/include/__algorithm/make_heap.h +16 -4
  228. package/libcxx/include/__algorithm/mismatch.h +2 -2
  229. package/libcxx/include/__algorithm/move.h +8 -19
  230. package/libcxx/include/__algorithm/move_backward.h +9 -24
  231. package/libcxx/include/__algorithm/none_of.h +4 -4
  232. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  233. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  234. package/libcxx/include/__algorithm/pstl.h +9 -9
  235. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  236. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  237. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  238. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  239. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  240. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  241. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  242. package/libcxx/include/__algorithm/rotate.h +27 -44
  243. package/libcxx/include/__algorithm/search_n.h +49 -37
  244. package/libcxx/include/__algorithm/sift_down.h +19 -18
  245. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  246. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  247. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  248. package/libcxx/include/__assertion_handler +31 -4
  249. package/libcxx/include/__atomic/atomic.h +36 -60
  250. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  251. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  252. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  253. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  254. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  255. package/libcxx/include/__atomic/contention_t.h +27 -3
  256. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  257. package/libcxx/include/__bit/countl.h +1 -2
  258. package/libcxx/include/__bit/countr.h +1 -2
  259. package/libcxx/include/__bit/has_single_bit.h +1 -1
  260. package/libcxx/include/__bit/popcount.h +0 -1
  261. package/libcxx/include/__bit/rotate.h +15 -26
  262. package/libcxx/include/__bit_reference +207 -18
  263. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  264. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  265. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  266. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  267. package/libcxx/include/__charconv/traits.h +3 -24
  268. package/libcxx/include/__chrono/day.h +11 -0
  269. package/libcxx/include/__chrono/duration.h +58 -33
  270. package/libcxx/include/__chrono/file_clock.h +4 -2
  271. package/libcxx/include/__chrono/is_clock.h +72 -0
  272. package/libcxx/include/__chrono/leap_second.h +13 -0
  273. package/libcxx/include/__chrono/month.h +13 -0
  274. package/libcxx/include/__chrono/month_weekday.h +22 -0
  275. package/libcxx/include/__chrono/monthday.h +20 -0
  276. package/libcxx/include/__chrono/steady_clock.h +1 -1
  277. package/libcxx/include/__chrono/system_clock.h +3 -3
  278. package/libcxx/include/__chrono/time_point.h +37 -13
  279. package/libcxx/include/__chrono/weekday.h +25 -0
  280. package/libcxx/include/__chrono/year.h +11 -0
  281. package/libcxx/include/__chrono/year_month.h +13 -0
  282. package/libcxx/include/__chrono/year_month_day.h +23 -0
  283. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  284. package/libcxx/include/__chrono/zoned_time.h +16 -0
  285. package/libcxx/include/__compare/is_eq.h +6 -6
  286. package/libcxx/include/__compare/strong_order.h +12 -30
  287. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  288. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  289. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  290. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  291. package/libcxx/include/__config +63 -280
  292. package/libcxx/include/__configuration/abi.h +14 -24
  293. package/libcxx/include/__configuration/availability.h +65 -118
  294. package/libcxx/include/__configuration/compiler.h +6 -6
  295. package/libcxx/include/__configuration/experimental.h +38 -0
  296. package/libcxx/include/__configuration/hardening.h +215 -0
  297. package/libcxx/include/__configuration/language.h +3 -0
  298. package/libcxx/include/__configuration/platform.h +9 -16
  299. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  300. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  301. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  302. package/libcxx/include/__exception/exception.h +6 -4
  303. package/libcxx/include/__exception/exception_ptr.h +27 -5
  304. package/libcxx/include/__exception/nested_exception.h +2 -2
  305. package/libcxx/include/__exception/operations.h +5 -5
  306. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  307. package/libcxx/include/__expected/expected.h +62 -64
  308. package/libcxx/include/__expected/unexpected.h +4 -4
  309. package/libcxx/include/__filesystem/copy_options.h +4 -4
  310. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  311. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  312. package/libcxx/include/__filesystem/directory_options.h +7 -4
  313. package/libcxx/include/__filesystem/file_status.h +3 -3
  314. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  315. package/libcxx/include/__filesystem/operations.h +97 -66
  316. package/libcxx/include/__filesystem/path.h +68 -64
  317. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  318. package/libcxx/include/__filesystem/perm_options.h +4 -4
  319. package/libcxx/include/__filesystem/perms.h +4 -4
  320. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  321. package/libcxx/include/__filesystem/space_info.h +1 -1
  322. package/libcxx/include/__filesystem/u8path.h +12 -14
  323. package/libcxx/include/__flat_map/flat_map.h +88 -71
  324. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  325. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  326. package/libcxx/include/__flat_map/utils.h +1 -0
  327. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  328. package/libcxx/include/__flat_set/flat_set.h +86 -68
  329. package/libcxx/include/__format/concepts.h +0 -14
  330. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  331. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  332. package/libcxx/include/__format/format_arg.h +7 -10
  333. package/libcxx/include/__format/format_args.h +1 -1
  334. package/libcxx/include/__format/format_context.h +5 -5
  335. package/libcxx/include/__format/format_parse_context.h +2 -2
  336. package/libcxx/include/__format/formatter_output.h +30 -34
  337. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  338. package/libcxx/include/__format/range_default_formatter.h +2 -41
  339. package/libcxx/include/__format/range_format.h +71 -0
  340. package/libcxx/include/__format/range_formatter.h +1 -0
  341. package/libcxx/include/__format/width_estimation_table.h +4 -2
  342. package/libcxx/include/__functional/bind.h +10 -15
  343. package/libcxx/include/__functional/bind_back.h +1 -1
  344. package/libcxx/include/__functional/bind_front.h +1 -1
  345. package/libcxx/include/__functional/function.h +57 -75
  346. package/libcxx/include/__functional/hash.h +1 -10
  347. package/libcxx/include/__functional/identity.h +1 -1
  348. package/libcxx/include/__functional/is_transparent.h +8 -0
  349. package/libcxx/include/__functional/mem_fn.h +2 -1
  350. package/libcxx/include/__functional/operations.h +18 -0
  351. package/libcxx/include/__functional/ranges_operations.h +7 -0
  352. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  353. package/libcxx/include/__functional/weak_result_type.h +14 -28
  354. package/libcxx/include/__fwd/ios.h +1 -1
  355. package/libcxx/include/__fwd/tuple.h +14 -0
  356. package/libcxx/include/__hash_table +371 -357
  357. package/libcxx/include/__ios/fpos.h +4 -4
  358. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  359. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  360. package/libcxx/include/__iterator/concepts.h +6 -9
  361. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  362. package/libcxx/include/__iterator/distance.h +40 -18
  363. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  364. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  365. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  366. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  367. package/libcxx/include/__iterator/iter_move.h +1 -1
  368. package/libcxx/include/__iterator/iterator.h +13 -0
  369. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  370. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  371. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  372. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  373. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  374. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  375. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  376. package/libcxx/include/__locale +3 -10
  377. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  378. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  379. package/libcxx/include/__locale_dir/messages.h +1 -1
  380. package/libcxx/include/__locale_dir/money.h +2 -2
  381. package/libcxx/include/__locale_dir/num.h +190 -243
  382. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  383. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  384. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  385. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  386. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  387. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  388. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  389. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  390. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  391. package/libcxx/include/__locale_dir/time.h +3 -7
  392. package/libcxx/include/__math/hypot.h +1 -1
  393. package/libcxx/include/__math/logarithms.h +1 -1
  394. package/libcxx/include/__math/traits.h +80 -11
  395. package/libcxx/include/__mdspan/extents.h +7 -4
  396. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  397. package/libcxx/include/__mdspan/mdspan.h +29 -23
  398. package/libcxx/include/__memory/addressof.h +7 -5
  399. package/libcxx/include/__memory/align.h +18 -1
  400. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  401. package/libcxx/include/__memory/allocator.h +14 -26
  402. package/libcxx/include/__memory/allocator_traits.h +6 -4
  403. package/libcxx/include/__memory/compressed_pair.h +15 -9
  404. package/libcxx/include/__memory/construct_at.h +12 -23
  405. package/libcxx/include/__memory/inout_ptr.h +1 -1
  406. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  407. package/libcxx/include/__memory/out_ptr.h +1 -1
  408. package/libcxx/include/__memory/pointer_traits.h +1 -1
  409. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  410. package/libcxx/include/__memory/shared_count.h +9 -30
  411. package/libcxx/include/__memory/shared_ptr.h +100 -145
  412. package/libcxx/include/__memory/temp_value.h +1 -2
  413. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  414. package/libcxx/include/__memory/unique_ptr.h +14 -16
  415. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  416. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  417. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  418. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  419. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  420. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  421. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  422. package/libcxx/include/__mutex/mutex.h +2 -2
  423. package/libcxx/include/__mutex/once_flag.h +14 -11
  424. package/libcxx/include/__mutex/tag_types.h +3 -3
  425. package/libcxx/include/__mutex/unique_lock.h +8 -7
  426. package/libcxx/include/__new/align_val_t.h +6 -0
  427. package/libcxx/include/__new/allocate.h +1 -2
  428. package/libcxx/include/__new/exceptions.h +8 -2
  429. package/libcxx/include/__new/global_new_delete.h +4 -11
  430. package/libcxx/include/__new/interference_size.h +0 -4
  431. package/libcxx/include/__new/launder.h +3 -5
  432. package/libcxx/include/__new/nothrow_t.h +1 -1
  433. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  434. package/libcxx/include/__numeric/midpoint.h +9 -14
  435. package/libcxx/include/__numeric/pstl.h +2 -2
  436. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  437. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  438. package/libcxx/include/__pstl/backends/default.h +14 -14
  439. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  440. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  441. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  442. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  443. package/libcxx/include/__random/binomial_distribution.h +10 -4
  444. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  445. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  446. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  447. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  448. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  449. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  450. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  451. package/libcxx/include/__ranges/common_view.h +7 -7
  452. package/libcxx/include/__ranges/drop_view.h +8 -8
  453. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  454. package/libcxx/include/__ranges/elements_of.h +49 -0
  455. package/libcxx/include/__ranges/empty_view.h +5 -5
  456. package/libcxx/include/__ranges/filter_view.h +10 -10
  457. package/libcxx/include/__ranges/iota_view.h +41 -22
  458. package/libcxx/include/__ranges/owning_view.h +15 -15
  459. package/libcxx/include/__ranges/ref_view.h +6 -6
  460. package/libcxx/include/__ranges/repeat_view.h +17 -10
  461. package/libcxx/include/__ranges/single_view.h +8 -8
  462. package/libcxx/include/__ranges/take_view.h +9 -9
  463. package/libcxx/include/__ranges/transform_view.h +1 -2
  464. package/libcxx/include/__ranges/view_interface.h +10 -10
  465. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  466. package/libcxx/include/__ranges/zip_view.h +20 -20
  467. package/libcxx/include/__split_buffer +612 -240
  468. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  469. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  470. package/libcxx/include/__stop_token/stop_source.h +1 -1
  471. package/libcxx/include/__stop_token/stop_state.h +4 -4
  472. package/libcxx/include/__stop_token/stop_token.h +1 -1
  473. package/libcxx/include/__string/char_traits.h +51 -31
  474. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  475. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  476. package/libcxx/include/__system_error/error_category.h +8 -8
  477. package/libcxx/include/__system_error/error_code.h +5 -5
  478. package/libcxx/include/__system_error/error_condition.h +4 -4
  479. package/libcxx/include/__system_error/system_error.h +1 -1
  480. package/libcxx/include/__thread/id.h +1 -1
  481. package/libcxx/include/__thread/jthread.h +1 -1
  482. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  483. package/libcxx/include/__thread/support/c11.h +8 -8
  484. package/libcxx/include/__thread/support/pthread.h +8 -8
  485. package/libcxx/include/__thread/support/windows.h +8 -8
  486. package/libcxx/include/__thread/thread.h +13 -8
  487. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  488. package/libcxx/include/__tree +849 -701
  489. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  490. package/libcxx/include/__tuple/tuple_element.h +0 -12
  491. package/libcxx/include/__tuple/tuple_size.h +0 -4
  492. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  493. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  494. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  495. package/libcxx/include/__type_traits/invoke.h +8 -0
  496. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  497. package/libcxx/include/__type_traits/is_array.h +26 -0
  498. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  499. package/libcxx/include/__type_traits/is_final.h +1 -1
  500. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  501. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  502. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  503. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  504. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  505. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  506. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  507. package/libcxx/include/__utility/cmp.h +19 -7
  508. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  509. package/libcxx/include/__utility/in_place.h +1 -1
  510. package/libcxx/include/__utility/integer_sequence.h +56 -41
  511. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  512. package/libcxx/include/__utility/pair.h +22 -25
  513. package/libcxx/include/__utility/scope_guard.h +2 -0
  514. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  515. package/libcxx/include/__vector/vector.h +187 -160
  516. package/libcxx/include/__vector/vector_bool.h +76 -83
  517. package/libcxx/include/any +118 -155
  518. package/libcxx/include/array +88 -56
  519. package/libcxx/include/atomic +2 -0
  520. package/libcxx/include/barrier +20 -24
  521. package/libcxx/include/bitset +49 -30
  522. package/libcxx/include/ccomplex +3 -11
  523. package/libcxx/include/chrono +47 -0
  524. package/libcxx/include/ciso646 +3 -6
  525. package/libcxx/include/complex +77 -65
  526. package/libcxx/include/complex.h +10 -10
  527. package/libcxx/include/condition_variable +3 -3
  528. package/libcxx/include/cstdalign +3 -10
  529. package/libcxx/include/cstdbool +3 -10
  530. package/libcxx/include/ctgmath +2 -11
  531. package/libcxx/include/ctype.h +24 -24
  532. package/libcxx/include/cwchar +2 -2
  533. package/libcxx/include/deque +109 -225
  534. package/libcxx/include/errno.h +269 -269
  535. package/libcxx/include/exception +4 -1
  536. package/libcxx/include/ext/hash_map +7 -48
  537. package/libcxx/include/ext/hash_set +2 -8
  538. package/libcxx/include/fenv.h +43 -43
  539. package/libcxx/include/flat_map +663 -11
  540. package/libcxx/include/flat_set +543 -8
  541. package/libcxx/include/float.h +16 -16
  542. package/libcxx/include/forward_list +33 -53
  543. package/libcxx/include/fstream +57 -42
  544. package/libcxx/include/future +41 -51
  545. package/libcxx/include/initializer_list +9 -3
  546. package/libcxx/include/inttypes.h +16 -16
  547. package/libcxx/include/ios +28 -28
  548. package/libcxx/include/istream +19 -13
  549. package/libcxx/include/iterator +10 -0
  550. package/libcxx/include/latch +7 -5
  551. package/libcxx/include/limits +4 -4
  552. package/libcxx/include/list +61 -79
  553. package/libcxx/include/map +386 -274
  554. package/libcxx/include/math.h +19 -0
  555. package/libcxx/include/mdspan +1 -5
  556. package/libcxx/include/mutex +29 -19
  557. package/libcxx/include/optional +644 -149
  558. package/libcxx/include/print +9 -5
  559. package/libcxx/include/queue +39 -37
  560. package/libcxx/include/ranges +48 -0
  561. package/libcxx/include/regex +33 -31
  562. package/libcxx/include/scoped_allocator +16 -11
  563. package/libcxx/include/semaphore +15 -18
  564. package/libcxx/include/set +220 -192
  565. package/libcxx/include/shared_mutex +3 -8
  566. package/libcxx/include/span +53 -37
  567. package/libcxx/include/sstream +34 -28
  568. package/libcxx/include/stack +13 -15
  569. package/libcxx/include/stddef.h +10 -10
  570. package/libcxx/include/stdexcept +2 -2
  571. package/libcxx/include/stdio.h +20 -21
  572. package/libcxx/include/streambuf +59 -19
  573. package/libcxx/include/string +574 -573
  574. package/libcxx/include/string_view +113 -89
  575. package/libcxx/include/strstream +10 -10
  576. package/libcxx/include/syncstream +4 -4
  577. package/libcxx/include/tgmath.h +12 -12
  578. package/libcxx/include/tuple +242 -212
  579. package/libcxx/include/type_traits +8 -2
  580. package/libcxx/include/typeindex +5 -3
  581. package/libcxx/include/typeinfo +92 -89
  582. package/libcxx/include/unordered_map +179 -304
  583. package/libcxx/include/unordered_set +168 -195
  584. package/libcxx/include/utility +12 -0
  585. package/libcxx/include/valarray +106 -161
  586. package/libcxx/include/variant +25 -33
  587. package/libcxx/include/version +41 -24
  588. package/libcxx/include/wctype.h +29 -29
  589. package/libcxx/src/any.cpp +4 -0
  590. package/libcxx/src/atomic.cpp +365 -80
  591. package/libcxx/src/barrier.cpp +4 -3
  592. package/libcxx/src/charconv.cpp +6 -3
  593. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  594. package/libcxx/src/error_category.cpp +3 -1
  595. package/libcxx/src/exception.cpp +2 -10
  596. package/libcxx/src/experimental/time_zone.cpp +1 -1
  597. package/libcxx/src/experimental/tzdb.cpp +4 -1
  598. package/libcxx/src/filesystem/error.h +4 -22
  599. package/libcxx/src/filesystem/format_string.h +9 -18
  600. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  601. package/libcxx/src/filesystem/operations.cpp +2 -9
  602. package/libcxx/src/filesystem/path.cpp +3 -1
  603. package/libcxx/src/include/aligned_alloc.h +65 -0
  604. package/libcxx/src/include/config_elast.h +1 -1
  605. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  606. package/libcxx/src/include/overridable_function.h +8 -10
  607. package/libcxx/src/iostream.cpp +56 -37
  608. package/libcxx/src/locale.cpp +213 -196
  609. package/libcxx/src/memory.cpp +12 -14
  610. package/libcxx/src/mutex_destructor.cpp +1 -1
  611. package/libcxx/src/new.cpp +5 -5
  612. package/libcxx/src/optional.cpp +4 -0
  613. package/libcxx/src/print.cpp +9 -1
  614. package/libcxx/src/random.cpp +0 -26
  615. package/libcxx/src/string.cpp +10 -25
  616. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  617. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  618. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  619. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  620. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  621. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  622. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  623. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  624. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  625. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  626. package/libcxx/src/system_error.cpp +2 -0
  627. package/libcxx/src/thread.cpp +1 -3
  628. package/libcxx/src/valarray.cpp +1 -2
  629. package/libcxx/src/vector.cpp +2 -2
  630. package/libcxxabi/include/__cxxabi_config.h +42 -23
  631. package/libcxxabi/src/cxa_exception.cpp +4 -2
  632. package/libcxxabi/src/cxa_exception.h +16 -14
  633. package/libcxxabi/src/cxa_personality.cpp +126 -9
  634. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  635. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  636. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  637. package/libcxxabi/src/demangle/Utility.h +21 -7
  638. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  639. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  640. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  641. package/libtsan/LICENSE.TXT +311 -0
  642. package/libtsan/builtins/assembly.h +41 -8
  643. package/libtsan/interception/interception_win.cpp +4 -0
  644. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  645. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  646. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  647. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  648. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  649. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  650. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  651. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  652. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  653. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  654. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  655. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  656. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  657. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  658. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  659. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  660. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  661. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  662. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  663. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  664. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  665. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  666. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  667. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  668. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  669. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  670. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  671. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  672. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  673. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  674. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  675. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  676. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  677. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  678. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  679. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  680. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  681. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  682. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  683. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  684. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  685. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  686. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  687. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  688. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  689. package/libtsan/tsan_debugging.cpp +2 -2
  690. package/libtsan/tsan_flags.cpp +37 -0
  691. package/libtsan/tsan_flags.h +8 -0
  692. package/libtsan/tsan_flags.inc +12 -0
  693. package/libtsan/tsan_interceptors.h +9 -1
  694. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  695. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  696. package/libtsan/tsan_interface.h +3 -3
  697. package/libtsan/tsan_interface_ann.cpp +23 -9
  698. package/libtsan/tsan_mman.cpp +18 -4
  699. package/libtsan/tsan_platform.h +44 -7
  700. package/libtsan/tsan_platform_linux.cpp +42 -14
  701. package/libtsan/tsan_platform_mac.cpp +16 -3
  702. package/libtsan/tsan_report.h +14 -1
  703. package/libtsan/tsan_rtl.cpp +14 -0
  704. package/libtsan/tsan_rtl.h +7 -2
  705. package/libtsan/tsan_rtl_aarch64.S +3 -5
  706. package/libtsan/tsan_rtl_access.cpp +8 -3
  707. package/libtsan/tsan_rtl_amd64.S +2 -0
  708. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  709. package/libtsan/tsan_rtl_report.cpp +132 -65
  710. package/libtsan/tsan_rtl_thread.cpp +31 -9
  711. package/libtsan/tsan_symbolize.cpp +1 -1
  712. package/libtsan/tsan_symbolize.h +1 -1
  713. package/libtsan/tsan_trace.h +1 -1
  714. package/libunwind/include/__libunwind_config.h +11 -2
  715. package/libunwind/include/libunwind.h +117 -11
  716. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  717. package/libunwind/src/AddressSpace.hpp +40 -19
  718. package/libunwind/src/CompactUnwinder.hpp +16 -5
  719. package/libunwind/src/DwarfInstructions.hpp +24 -13
  720. package/libunwind/src/DwarfParser.hpp +60 -22
  721. package/libunwind/src/EHHeaderParser.hpp +7 -4
  722. package/libunwind/src/Registers.hpp +226 -22
  723. package/libunwind/src/Unwind-seh.cpp +6 -7
  724. package/libunwind/src/Unwind-wasm.c +7 -7
  725. package/libunwind/src/UnwindCursor.hpp +167 -49
  726. package/libunwind/src/UnwindLevel1.c +46 -17
  727. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  728. package/libunwind/src/UnwindRegistersSave.S +86 -2
  729. package/libunwind/src/assembly.h +5 -1
  730. package/libunwind/src/config.h +9 -0
  731. package/libunwind/src/gcc_personality_v0.c +79 -6
  732. package/libunwind/src/libunwind.cpp +104 -4
  733. package/libunwind/src/libunwind_ext.h +7 -1
  734. package/libunwind/src/shadow_stack_unwind.h +2 -2
  735. package/lldb/pretty_printers.py +948 -0
  736. package/package.json +1 -1
  737. package/std/Build/Step/Compile.zig +18 -19
  738. package/std/Build/Step/Run.zig +13 -6
  739. package/std/Build/Step.zig +0 -3
  740. package/std/Io/Threaded.zig +3 -0
  741. package/std/Target/aarch64.zig +620 -77
  742. package/std/Target/amdgcn.zig +421 -21
  743. package/std/Target/arm.zig +40 -6
  744. package/std/Target/bpf.zig +6 -0
  745. package/std/Target/hexagon.zig +41 -6
  746. package/std/Target/loongarch.zig +18 -0
  747. package/std/Target/mips.zig +6 -0
  748. package/std/Target/nvptx.zig +58 -35
  749. package/std/Target/powerpc.zig +27 -19
  750. package/std/Target/riscv.zig +415 -177
  751. package/std/Target/sparc.zig +17 -0
  752. package/std/Target/wasm.zig +7 -0
  753. package/std/Target/x86.zig +200 -31
  754. package/std/Target/xtensa.zig +65 -0
  755. package/std/Target.zig +11 -2
  756. package/std/c.zig +7 -0
  757. package/std/debug/Dwarf.zig +14 -11
  758. package/std/debug/Pdb.zig +24 -16
  759. package/std/hash/xxhash.zig +0 -6
  760. package/std/math/log10.zig +0 -2
  761. package/std/math/modf.zig +0 -1
  762. package/std/mem.zig +1 -2
  763. package/std/os/linux/syscalls.zig +26 -1
  764. package/std/os/linux/x86.zig +2 -2
  765. package/std/os/windows.zig +130 -1
  766. package/std/simd.zig +4 -21
  767. package/std/start.zig +4 -3
  768. package/std/zig/Ast.zig +5 -7
  769. package/std/zig/AstGen.zig +20 -14
  770. package/std/zig/ErrorBundle.zig +6 -2
  771. package/std/zig/ZonGen.zig +13 -21
  772. package/std/zig/llvm/Builder.zig +2 -2
  773. package/std/zig/system/arm.zig +56 -2
  774. package/std/zig/system/windows.zig +34 -1
  775. package/std/zig/system/x86.zig +60 -16
  776. package/std/zig/system.zig +0 -10
  777. package/include/amxbf16transposeintrin.h +0 -94
  778. package/include/amxcomplextransposeintrin.h +0 -303
  779. package/include/amxfp16transposeintrin.h +0 -94
  780. package/include/amxmovrstransposeintrin.h +0 -200
  781. package/include/amxtf32transposeintrin.h +0 -105
  782. package/include/amxtransposeintrin.h +0 -248
  783. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  784. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  785. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  786. package/std/Build/Step/CheckObject.zig +0 -2764
package/c/stdlib.zig CHANGED
@@ -158,29 +158,40 @@ fn stringToInteger(comptime T: type, noalias buf: [*:0]const u8, noalias maybe_e
158
158
  };
159
159
 
160
160
  // The prefix is allowed iff base == 0 or base == base of the prefix
161
- const real_base: u6 = if (current[0] == '0') blk: {
162
- current += 1;
163
-
164
- if ((base == 0 or base == 16) and std.ascii.toLower(current[0]) == 'x' and std.ascii.isHex(current[1])) {
165
- current += 1;
166
- break :blk 16;
167
- }
168
-
169
- if ((base == 0 or base == 8) and std.ascii.isDigit(current[0])) {
170
- break :blk 8;
161
+ const real_base: u6, const digits = blk: {
162
+ if (current[0] == '0') {
163
+ if ((base == 0 or base == 16) and std.ascii.toLower(current[1]) == 'x' and std.ascii.isHex(current[2])) {
164
+ break :blk .{ 16, current[2..] };
165
+ } else if (base == 0) {
166
+ break :blk .{ 8, current };
167
+ } else {
168
+ break :blk .{
169
+ switch (base) {
170
+ 0 => 10,
171
+ else => @intCast(base),
172
+ },
173
+ current,
174
+ };
175
+ }
176
+ } else {
177
+ const real_base: u6 = switch (base) {
178
+ 0 => 10,
179
+ else => @intCast(base),
180
+ };
181
+
182
+ _ = std.fmt.charToDigit(current[0], real_base) catch {
183
+ // No digits to parse. Setting errno to .INVAL is optional in this case.
184
+ if (maybe_end) |end| {
185
+ end.* = buf;
186
+ }
187
+ return 0;
188
+ };
189
+ break :blk .{ real_base, current };
171
190
  }
172
-
173
- break :blk switch (base) {
174
- 0 => 10,
175
- else => @intCast(base),
176
- };
177
- } else switch (base) {
178
- 0 => 10,
179
- else => @intCast(base),
180
191
  };
181
192
 
182
193
  if (@typeInfo(T).int.signedness == .unsigned) {
183
- const result = parseDigitsWithSignGenericCharacter(T, u8, current, maybe_end, real_base, .pos) catch {
194
+ const result = parseDigitsWithSignGenericCharacter(T, u8, digits, maybe_end, real_base, .pos) catch {
184
195
  std.c._errno().* = @intFromEnum(std.c.E.RANGE);
185
196
  return std.math.maxInt(T);
186
197
  };
@@ -188,12 +199,12 @@ fn stringToInteger(comptime T: type, noalias buf: [*:0]const u8, noalias maybe_e
188
199
  return if (negative) -%result else result;
189
200
  }
190
201
 
191
- if (negative) return parseDigitsWithSignGenericCharacter(T, u8, current, maybe_end, real_base, .neg) catch blk: {
202
+ if (negative) return parseDigitsWithSignGenericCharacter(T, u8, digits, maybe_end, real_base, .neg) catch blk: {
192
203
  std.c._errno().* = @intFromEnum(std.c.E.RANGE);
193
204
  break :blk std.math.minInt(T);
194
205
  };
195
206
 
196
- return parseDigitsWithSignGenericCharacter(T, u8, current, maybe_end, real_base, .pos) catch blk: {
207
+ return parseDigitsWithSignGenericCharacter(T, u8, digits, maybe_end, real_base, .pos) catch blk: {
197
208
  std.c._errno().* = @intFromEnum(std.c.E.RANGE);
198
209
  break :blk std.math.maxInt(T);
199
210
  };
@@ -222,7 +233,6 @@ fn parseDigitsWithSignGenericCharacter(
222
233
  var value: T = 0;
223
234
  while (true) {
224
235
  const c: u8 = std.math.cast(u8, current[0]) orelse break;
225
- if (!std.ascii.isAlphanumeric(c)) break;
226
236
 
227
237
  const digit: u6 = @intCast(std.fmt.charToDigit(c, base) catch break);
228
238
  defer current += 1;
@@ -498,7 +498,6 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
498
498
  .{ .fma, "__FMA__" },
499
499
  .{ .f16c, "__F16C__" },
500
500
  .{ .gfni, "__GFNI__" },
501
- .{ .evex512, "__EVEX512__" },
502
501
 
503
502
  .{ .avx10_1, "__AVX10_1__" },
504
503
  .{ .avx10_1, "__AVX10_1_512__" },
@@ -560,7 +559,6 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
560
559
  .{ .amx_complex, "__AMX_COMPLEX__" },
561
560
  .{ .amx_fp8, "__AMX_FP8__" },
562
561
  .{ .amx_movrs, "__AMX_MOVRS__" },
563
- .{ .amx_transpose, "__AMX_TRANSPOSE__" },
564
562
  .{ .amx_avx512, "__AMX_AVX512__" },
565
563
  .{ .amx_tf32, "__AMX_TF32__" },
566
564
  .{ .cmpccxadd, "__CMPCCXADD__" },
@@ -798,7 +796,6 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
798
796
  .{ .fullfp16, "FP16_SCALAR_ARITHMETIC" },
799
797
  .{ .dotprod, "DOTPROD" },
800
798
  .{ .mte, "MEMORY_TAGGING" },
801
- .{ .tme, "TME" },
802
799
  .{ .i8mm, "MATMUL_INT8" },
803
800
  .{ .lse, "ATOMICS" },
804
801
  .{ .f64mm, "SVE_MATMUL_FP64" },
@@ -863,11 +863,14 @@ pub fn render(gpa: Allocator, nodes: []const Node) !std.zig.Ast {
863
863
  .start = @as(u32, @intCast(ctx.buf.items.len)),
864
864
  });
865
865
 
866
+ try ctx.buf.shrinkToLenSentinel(gpa);
867
+ try ctx.extra_data.shrinkToLen(gpa);
868
+
866
869
  return .{
867
- .source = try ctx.buf.toOwnedSliceSentinel(gpa, 0),
870
+ .source = ctx.buf.toOwnedSliceSentinelAssert(0),
868
871
  .tokens = ctx.tokens.toOwnedSlice(),
869
872
  .nodes = ctx.nodes.toOwnedSlice(),
870
- .extra_data = try ctx.extra_data.toOwnedSlice(gpa),
873
+ .extra_data = ctx.extra_data.toOwnedSliceAssert(),
871
874
  .errors = &.{},
872
875
  .mode = .zig,
873
876
  };
@@ -57,9 +57,9 @@ const __udivmodsi4 = @import("int.zig").__udivmodsi4;
57
57
  const __divmoddi4 = @import("int.zig").__divmoddi4;
58
58
  const __udivmoddi4 = @import("int.zig").__udivmoddi4;
59
59
 
60
- extern fn memset(dest: ?[*]u8, c: i32, n: usize) ?[*]u8;
61
- extern fn memcpy(noalias dest: ?[*]u8, noalias src: ?[*]const u8, n: usize) ?[*]u8;
62
- extern fn memmove(dest: ?[*]u8, src: ?[*]const u8, n: usize) ?[*]u8;
60
+ extern fn memset(dest: ?*anyopaque, c: i32, n: usize) ?*anyopaque;
61
+ extern fn memcpy(noalias dest: ?*anyopaque, noalias src: ?*const anyopaque, n: usize) ?*anyopaque;
62
+ extern fn memmove(dest: ?*anyopaque, src: ?*const anyopaque, n: usize) ?*anyopaque;
63
63
 
64
64
  pub fn __aeabi_memcpy(dest: [*]u8, src: [*]u8, n: usize) callconv(.{ .arm_aapcs = .{} }) void {
65
65
  @setRuntimeSafety(false);
@@ -4,6 +4,9 @@ const truncf = @import("./truncf.zig").truncf;
4
4
 
5
5
  comptime {
6
6
  symbol(&__trunctfhf2, "__trunctfhf2");
7
+ if (compiler_rt.want_ppc_abi) {
8
+ symbol(&__trunctfhf2, "__trunckfhf2");
9
+ }
7
10
  }
8
11
 
9
12
  pub fn __trunctfhf2(a: f128) callconv(.c) compiler_rt.F16T(f128) {
package/compiler_rt.zig CHANGED
@@ -447,29 +447,8 @@ pub const gnu_f16_abi = switch (builtin.cpu.arch) {
447
447
 
448
448
  pub const want_sparc_abi = builtin.cpu.arch.isSPARC();
449
449
 
450
- /// This seems to mostly correspond to `clang::TargetInfo::HasFloat16`.
451
450
  pub fn F16T(comptime OtherType: type) type {
452
451
  return switch (builtin.cpu.arch) {
453
- .amdgcn,
454
- .arm,
455
- .armeb,
456
- .thumb,
457
- .thumbeb,
458
- .aarch64,
459
- .aarch64_be,
460
- .hexagon,
461
- .loongarch32,
462
- .loongarch64,
463
- .nvptx,
464
- .nvptx64,
465
- .riscv32,
466
- .riscv32be,
467
- .riscv64,
468
- .riscv64be,
469
- .s390x,
470
- .spirv32,
471
- .spirv64,
472
- => f16,
473
452
  .x86, .x86_64 => if (builtin.target.os.tag.isDarwin()) switch (OtherType) {
474
453
  // Starting with LLVM 16, Darwin uses different abi for f16
475
454
  // depending on the type of the other return/argument..???
@@ -477,7 +456,7 @@ pub fn F16T(comptime OtherType: type) type {
477
456
  f80, f128 => f16,
478
457
  else => unreachable,
479
458
  } else f16,
480
- else => u16,
459
+ else => f16,
481
460
  };
482
461
  }
483
462
 
@@ -311,17 +311,13 @@ pub fn endInput(p: *Parser) Allocator.Error!Document {
311
311
  p.scratch_string.items.len = 0;
312
312
  p.scratch_extra.items.len = 0;
313
313
 
314
- var nodes = p.nodes.toOwnedSlice();
315
- errdefer nodes.deinit(p.allocator);
316
- const extra = try p.extra.toOwnedSlice(p.allocator);
317
- errdefer p.allocator.free(extra);
318
- const string_bytes = try p.string_bytes.toOwnedSlice(p.allocator);
319
- errdefer p.allocator.free(string_bytes);
314
+ try p.extra.shrinkToLen(p.allocator);
315
+ try p.string_bytes.shrinkToLen(p.allocator);
320
316
 
321
317
  return .{
322
- .nodes = nodes,
323
- .extra = extra,
324
- .string_bytes = string_bytes,
318
+ .nodes = p.nodes.toOwnedSlice(),
319
+ .extra = p.extra.toOwnedSliceAssert(),
320
+ .string_bytes = p.string_bytes.toOwnedSliceAssert(),
325
321
  };
326
322
  }
327
323
 
@@ -52,30 +52,30 @@
52
52
  // Builtin IDs and sizes
53
53
 
54
54
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
55
- __spirv_NumWorkgroups(int);
55
+ __spirv_BuiltInNumWorkgroups(int);
56
56
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
57
- __spirv_WorkgroupSize(int);
57
+ __spirv_BuiltInWorkgroupSize(int);
58
58
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
59
- __spirv_WorkgroupId(int);
59
+ __spirv_BuiltInWorkgroupId(int);
60
60
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
61
- __spirv_LocalInvocationId(int);
61
+ __spirv_BuiltInLocalInvocationId(int);
62
62
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
63
- __spirv_GlobalInvocationId(int);
63
+ __spirv_BuiltInGlobalInvocationId(int);
64
64
 
65
65
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
66
- __spirv_GlobalSize(int);
66
+ __spirv_BuiltInGlobalSize(int);
67
67
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
68
- __spirv_GlobalOffset(int);
68
+ __spirv_BuiltInGlobalOffset(int);
69
69
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
70
- __spirv_SubgroupSize();
70
+ __spirv_BuiltInSubgroupSize();
71
71
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
72
- __spirv_SubgroupMaxSize();
72
+ __spirv_BuiltInSubgroupMaxSize();
73
73
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
74
- __spirv_NumSubgroups();
74
+ __spirv_BuiltInNumSubgroups();
75
75
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
76
- __spirv_SubgroupId();
76
+ __spirv_BuiltInSubgroupId();
77
77
  extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
78
- __uint32_t __spirv_SubgroupLocalInvocationId();
78
+ __uint32_t __spirv_BuiltInSubgroupLocalInvocationId();
79
79
 
80
80
  // OpGenericCastToPtrExplicit
81
81
 
@@ -0,0 +1,176 @@
1
+ /*===---- __float_float.h --------------------------------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __CLANG_FLOAT_FLOAT_H
11
+ #define __CLANG_FLOAT_FLOAT_H
12
+
13
+ #if (defined(__MINGW32__) || defined(_MSC_VER) || defined(_AIX)) && \
14
+ __STDC_HOSTED__
15
+
16
+ /* Undefine anything that we'll be redefining below. */
17
+ # undef FLT_EVAL_METHOD
18
+ # undef FLT_ROUNDS
19
+ # undef FLT_RADIX
20
+ # undef FLT_MANT_DIG
21
+ # undef DBL_MANT_DIG
22
+ # undef LDBL_MANT_DIG
23
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
24
+ !defined(__STRICT_ANSI__) || \
25
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
26
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
27
+ # undef DECIMAL_DIG
28
+ # endif
29
+ # undef FLT_DIG
30
+ # undef DBL_DIG
31
+ # undef LDBL_DIG
32
+ # undef FLT_MIN_EXP
33
+ # undef DBL_MIN_EXP
34
+ # undef LDBL_MIN_EXP
35
+ # undef FLT_MIN_10_EXP
36
+ # undef DBL_MIN_10_EXP
37
+ # undef LDBL_MIN_10_EXP
38
+ # undef FLT_MAX_EXP
39
+ # undef DBL_MAX_EXP
40
+ # undef LDBL_MAX_EXP
41
+ # undef FLT_MAX_10_EXP
42
+ # undef DBL_MAX_10_EXP
43
+ # undef LDBL_MAX_10_EXP
44
+ # undef FLT_MAX
45
+ # undef DBL_MAX
46
+ # undef LDBL_MAX
47
+ # undef FLT_EPSILON
48
+ # undef DBL_EPSILON
49
+ # undef LDBL_EPSILON
50
+ # undef FLT_MIN
51
+ # undef DBL_MIN
52
+ # undef LDBL_MIN
53
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
54
+ !defined(__STRICT_ANSI__) || \
55
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
56
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
57
+ # undef FLT_TRUE_MIN
58
+ # undef DBL_TRUE_MIN
59
+ # undef LDBL_TRUE_MIN
60
+ # undef FLT_DECIMAL_DIG
61
+ # undef DBL_DECIMAL_DIG
62
+ # undef LDBL_DECIMAL_DIG
63
+ # undef FLT_HAS_SUBNORM
64
+ # undef DBL_HAS_SUBNORM
65
+ # undef LDBL_HAS_SUBNORM
66
+ # endif
67
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
68
+ !defined(__STRICT_ANSI__)
69
+ # undef FLT_NORM_MAX
70
+ # undef DBL_NORM_MAX
71
+ # undef LDBL_NORM_MAX
72
+ #endif
73
+ #endif
74
+
75
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
76
+ !defined(__STRICT_ANSI__)
77
+ # undef FLT_SNAN
78
+ # undef DBL_SNAN
79
+ # undef LDBL_SNAN
80
+ #endif
81
+
82
+ /* Characteristics of floating point types, C99 5.2.4.2.2 */
83
+
84
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
85
+ (defined(__cplusplus) && __cplusplus >= 201103L)
86
+ #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
87
+ #endif
88
+ #define FLT_ROUNDS (__builtin_flt_rounds())
89
+ #define FLT_RADIX __FLT_RADIX__
90
+
91
+ #define FLT_MANT_DIG __FLT_MANT_DIG__
92
+ #define DBL_MANT_DIG __DBL_MANT_DIG__
93
+ #define LDBL_MANT_DIG __LDBL_MANT_DIG__
94
+
95
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
96
+ !defined(__STRICT_ANSI__) || \
97
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
98
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
99
+ # define DECIMAL_DIG __DECIMAL_DIG__
100
+ #endif
101
+
102
+ #define FLT_DIG __FLT_DIG__
103
+ #define DBL_DIG __DBL_DIG__
104
+ #define LDBL_DIG __LDBL_DIG__
105
+
106
+ #define FLT_MIN_EXP __FLT_MIN_EXP__
107
+ #define DBL_MIN_EXP __DBL_MIN_EXP__
108
+ #define LDBL_MIN_EXP __LDBL_MIN_EXP__
109
+
110
+ #define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
111
+ #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
112
+ #define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
113
+
114
+ #define FLT_MAX_EXP __FLT_MAX_EXP__
115
+ #define DBL_MAX_EXP __DBL_MAX_EXP__
116
+ #define LDBL_MAX_EXP __LDBL_MAX_EXP__
117
+
118
+ #define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
119
+ #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
120
+ #define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
121
+
122
+ #define FLT_MAX __FLT_MAX__
123
+ #define DBL_MAX __DBL_MAX__
124
+ #define LDBL_MAX __LDBL_MAX__
125
+
126
+ #define FLT_EPSILON __FLT_EPSILON__
127
+ #define DBL_EPSILON __DBL_EPSILON__
128
+ #define LDBL_EPSILON __LDBL_EPSILON__
129
+
130
+ #define FLT_MIN __FLT_MIN__
131
+ #define DBL_MIN __DBL_MIN__
132
+ #define LDBL_MIN __LDBL_MIN__
133
+
134
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
135
+ !defined(__STRICT_ANSI__) || \
136
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
137
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
138
+ # define FLT_TRUE_MIN __FLT_DENORM_MIN__
139
+ # define DBL_TRUE_MIN __DBL_DENORM_MIN__
140
+ # define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
141
+ # define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
142
+ # define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
143
+ # define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
144
+ # define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
145
+ # define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
146
+ # define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
147
+ #endif
148
+
149
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
150
+ !defined(__STRICT_ANSI__)
151
+ /* C23 5.2.5.3.2p28 */
152
+ # define FLT_SNAN (__builtin_nansf(""))
153
+ # define DBL_SNAN (__builtin_nans(""))
154
+ # define LDBL_SNAN (__builtin_nansl(""))
155
+
156
+ /* C23 5.2.5.3.3p32 */
157
+ # define FLT_NORM_MAX __FLT_NORM_MAX__
158
+ # define DBL_NORM_MAX __DBL_NORM_MAX__
159
+ # define LDBL_NORM_MAX __LDBL_NORM_MAX__
160
+ #endif
161
+
162
+ #ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
163
+ # define FLT16_MANT_DIG __FLT16_MANT_DIG__
164
+ # define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
165
+ # define FLT16_DIG __FLT16_DIG__
166
+ # define FLT16_MIN_EXP __FLT16_MIN_EXP__
167
+ # define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
168
+ # define FLT16_MAX_EXP __FLT16_MAX_EXP__
169
+ # define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
170
+ # define FLT16_MAX __FLT16_MAX__
171
+ # define FLT16_EPSILON __FLT16_EPSILON__
172
+ # define FLT16_MIN __FLT16_MIN__
173
+ # define FLT16_TRUE_MIN __FLT16_TRUE_MIN__
174
+ #endif /* __STDC_WANT_IEC_60559_TYPES_EXT__ */
175
+
176
+ #endif /* __CLANG_FLOAT_FLOAT_H */
@@ -0,0 +1,12 @@
1
+ /*===---- __float_header_macro.h -------------------------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __CLANG_FLOAT_H
11
+ #define __CLANG_FLOAT_H
12
+ #endif /* __CLANG_FLOAT_H */
@@ -0,0 +1,20 @@
1
+ /*===---- __float_infinity_nan.h -------------------------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __CLANG_FLOAT_INFINITY_NAN_H
11
+ #define __CLANG_FLOAT_INFINITY_NAN_H
12
+
13
+ /* C23 5.2.5.3.3p29-30 */
14
+ #undef INFINITY
15
+ #undef NAN
16
+
17
+ #define INFINITY (__builtin_inff())
18
+ #define NAN (__builtin_nanf(""))
19
+
20
+ #endif /* __CLANG_FLOAT_INFINITY_NAN_H */
package/include/amo.h ADDED
@@ -0,0 +1,131 @@
1
+ /*===---- amo.h - PowerPC Atomic Memory Operations ------------------------===*\
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ \*===----------------------------------------------------------------------===*/
8
+
9
+ /* This header provides compatibility for GCC's AMO functions.
10
+ * The functions here call Clang's underlying AMO builtins.
11
+ */
12
+
13
+ #ifndef _AMO_H
14
+ #define _AMO_H
15
+
16
+ #include <stdint.h>
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /* AMO Load Operation Codes (FC values) */
23
+ enum {
24
+ _AMO_LD_ADD = 0x00, /* Fetch and Add */
25
+ _AMO_LD_XOR = 0x01, /* Fetch and XOR */
26
+ _AMO_LD_IOR = 0x02, /* Fetch and OR */
27
+ _AMO_LD_AND = 0x03, /* Fetch and AND */
28
+ _AMO_LD_UMAX = 0x04, /* Fetch and Maximum Unsigned */
29
+ _AMO_LD_SMAX = 0x05, /* Fetch and Maximum Signed */
30
+ _AMO_LD_UMIN = 0x06, /* Fetch and Minimum Unsigned */
31
+ _AMO_LD_SMIN = 0x07, /* Fetch and Minimum Signed */
32
+ _AMO_LD_SWAP = 0x08 /* Swap */
33
+ };
34
+
35
+ /* 32-bit unsigned AMO load operations */
36
+ static inline uint32_t amo_lwat_add(uint32_t *ptr, uint32_t val) {
37
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_ADD);
38
+ }
39
+
40
+ static inline uint32_t amo_lwat_xor(uint32_t *ptr, uint32_t val) {
41
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_XOR);
42
+ }
43
+
44
+ static inline uint32_t amo_lwat_ior(uint32_t *ptr, uint32_t val) {
45
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_IOR);
46
+ }
47
+
48
+ static inline uint32_t amo_lwat_and(uint32_t *ptr, uint32_t val) {
49
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_AND);
50
+ }
51
+
52
+ static inline uint32_t amo_lwat_umax(uint32_t *ptr, uint32_t val) {
53
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_UMAX);
54
+ }
55
+
56
+ static inline uint32_t amo_lwat_umin(uint32_t *ptr, uint32_t val) {
57
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_UMIN);
58
+ }
59
+
60
+ static inline uint32_t amo_lwat_swap(uint32_t *ptr, uint32_t val) {
61
+ return __builtin_amo_lwat(ptr, val, _AMO_LD_SWAP);
62
+ }
63
+
64
+ /* 32-bit signed AMO load operations */
65
+ static inline int32_t amo_lwat_sadd(int32_t *ptr, int32_t val) {
66
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_ADD);
67
+ }
68
+
69
+ static inline int32_t amo_lwat_smax(int32_t *ptr, int32_t val) {
70
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMAX);
71
+ }
72
+
73
+ static inline int32_t amo_lwat_smin(int32_t *ptr, int32_t val) {
74
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMIN);
75
+ }
76
+
77
+ static inline int32_t amo_lwat_sswap(int32_t *ptr, int32_t val) {
78
+ return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SWAP);
79
+ }
80
+
81
+ /* 64-bit unsigned AMO load operations */
82
+ static inline uint64_t amo_ldat_add(uint64_t *ptr, uint64_t val) {
83
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_ADD);
84
+ }
85
+
86
+ static inline uint64_t amo_ldat_xor(uint64_t *ptr, uint64_t val) {
87
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_XOR);
88
+ }
89
+
90
+ static inline uint64_t amo_ldat_ior(uint64_t *ptr, uint64_t val) {
91
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_IOR);
92
+ }
93
+
94
+ static inline uint64_t amo_ldat_and(uint64_t *ptr, uint64_t val) {
95
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_AND);
96
+ }
97
+
98
+ static inline uint64_t amo_ldat_umax(uint64_t *ptr, uint64_t val) {
99
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_UMAX);
100
+ }
101
+
102
+ static inline uint64_t amo_ldat_umin(uint64_t *ptr, uint64_t val) {
103
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_UMIN);
104
+ }
105
+
106
+ static inline uint64_t amo_ldat_swap(uint64_t *ptr, uint64_t val) {
107
+ return __builtin_amo_ldat(ptr, val, _AMO_LD_SWAP);
108
+ }
109
+
110
+ /* 64-bit signed AMO load operations */
111
+ static inline int64_t amo_ldat_sadd(int64_t *ptr, int64_t val) {
112
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_ADD);
113
+ }
114
+
115
+ static inline int64_t amo_ldat_smax(int64_t *ptr, int64_t val) {
116
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMAX);
117
+ }
118
+
119
+ static inline int64_t amo_ldat_smin(int64_t *ptr, int64_t val) {
120
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMIN);
121
+ }
122
+
123
+ static inline int64_t amo_ldat_sswap(int64_t *ptr, int64_t val) {
124
+ return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SWAP);
125
+ }
126
+
127
+ #ifdef __cplusplus
128
+ }
129
+ #endif
130
+
131
+ #endif /* _AMO_H */