@zigc/lib 0.17.0-dev.135 → 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 (673) 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/libcxx/include/__algorithm/all_of.h +11 -5
  97. package/libcxx/include/__algorithm/comp.h +4 -0
  98. package/libcxx/include/__algorithm/copy.h +28 -147
  99. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  100. package/libcxx/include/__algorithm/copy_n.h +50 -16
  101. package/libcxx/include/__algorithm/count.h +2 -2
  102. package/libcxx/include/__algorithm/equal.h +43 -55
  103. package/libcxx/include/__algorithm/fill.h +26 -8
  104. package/libcxx/include/__algorithm/fill_n.h +32 -46
  105. package/libcxx/include/__algorithm/find.h +96 -39
  106. package/libcxx/include/__algorithm/find_end.h +105 -0
  107. package/libcxx/include/__algorithm/for_each.h +18 -24
  108. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  109. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  110. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  111. package/libcxx/include/__algorithm/generate.h +4 -2
  112. package/libcxx/include/__algorithm/generate_n.h +19 -6
  113. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  114. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  115. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  116. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  117. package/libcxx/include/__algorithm/make_heap.h +16 -4
  118. package/libcxx/include/__algorithm/mismatch.h +2 -2
  119. package/libcxx/include/__algorithm/move.h +8 -19
  120. package/libcxx/include/__algorithm/move_backward.h +9 -24
  121. package/libcxx/include/__algorithm/none_of.h +4 -4
  122. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  123. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  124. package/libcxx/include/__algorithm/pstl.h +9 -9
  125. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  126. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  127. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  128. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  129. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  130. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  131. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  132. package/libcxx/include/__algorithm/rotate.h +27 -44
  133. package/libcxx/include/__algorithm/search_n.h +49 -37
  134. package/libcxx/include/__algorithm/sift_down.h +19 -18
  135. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  136. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  137. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  138. package/libcxx/include/__assertion_handler +31 -4
  139. package/libcxx/include/__atomic/atomic.h +36 -60
  140. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  141. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  142. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  143. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  144. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  145. package/libcxx/include/__atomic/contention_t.h +27 -3
  146. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  147. package/libcxx/include/__bit/countl.h +1 -2
  148. package/libcxx/include/__bit/countr.h +1 -2
  149. package/libcxx/include/__bit/has_single_bit.h +1 -1
  150. package/libcxx/include/__bit/popcount.h +0 -1
  151. package/libcxx/include/__bit/rotate.h +15 -26
  152. package/libcxx/include/__bit_reference +207 -18
  153. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  154. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  155. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  156. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  157. package/libcxx/include/__charconv/traits.h +3 -24
  158. package/libcxx/include/__chrono/day.h +11 -0
  159. package/libcxx/include/__chrono/duration.h +58 -33
  160. package/libcxx/include/__chrono/file_clock.h +4 -2
  161. package/libcxx/include/__chrono/is_clock.h +72 -0
  162. package/libcxx/include/__chrono/leap_second.h +13 -0
  163. package/libcxx/include/__chrono/month.h +13 -0
  164. package/libcxx/include/__chrono/month_weekday.h +22 -0
  165. package/libcxx/include/__chrono/monthday.h +20 -0
  166. package/libcxx/include/__chrono/steady_clock.h +1 -1
  167. package/libcxx/include/__chrono/system_clock.h +3 -3
  168. package/libcxx/include/__chrono/time_point.h +37 -13
  169. package/libcxx/include/__chrono/weekday.h +25 -0
  170. package/libcxx/include/__chrono/year.h +11 -0
  171. package/libcxx/include/__chrono/year_month.h +13 -0
  172. package/libcxx/include/__chrono/year_month_day.h +23 -0
  173. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  174. package/libcxx/include/__chrono/zoned_time.h +16 -0
  175. package/libcxx/include/__compare/is_eq.h +6 -6
  176. package/libcxx/include/__compare/strong_order.h +12 -30
  177. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  178. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  179. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  180. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  181. package/libcxx/include/__config +63 -280
  182. package/libcxx/include/__configuration/abi.h +14 -24
  183. package/libcxx/include/__configuration/availability.h +65 -118
  184. package/libcxx/include/__configuration/compiler.h +6 -6
  185. package/libcxx/include/__configuration/experimental.h +38 -0
  186. package/libcxx/include/__configuration/hardening.h +215 -0
  187. package/libcxx/include/__configuration/language.h +3 -0
  188. package/libcxx/include/__configuration/platform.h +9 -16
  189. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  190. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  191. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  192. package/libcxx/include/__exception/exception.h +6 -4
  193. package/libcxx/include/__exception/exception_ptr.h +27 -5
  194. package/libcxx/include/__exception/nested_exception.h +2 -2
  195. package/libcxx/include/__exception/operations.h +5 -5
  196. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  197. package/libcxx/include/__expected/expected.h +62 -64
  198. package/libcxx/include/__expected/unexpected.h +4 -4
  199. package/libcxx/include/__filesystem/copy_options.h +4 -4
  200. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  201. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  202. package/libcxx/include/__filesystem/directory_options.h +7 -4
  203. package/libcxx/include/__filesystem/file_status.h +3 -3
  204. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  205. package/libcxx/include/__filesystem/operations.h +97 -66
  206. package/libcxx/include/__filesystem/path.h +68 -64
  207. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  208. package/libcxx/include/__filesystem/perm_options.h +4 -4
  209. package/libcxx/include/__filesystem/perms.h +4 -4
  210. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  211. package/libcxx/include/__filesystem/space_info.h +1 -1
  212. package/libcxx/include/__filesystem/u8path.h +12 -14
  213. package/libcxx/include/__flat_map/flat_map.h +88 -71
  214. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  215. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  216. package/libcxx/include/__flat_map/utils.h +1 -0
  217. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  218. package/libcxx/include/__flat_set/flat_set.h +86 -68
  219. package/libcxx/include/__format/concepts.h +0 -14
  220. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  221. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  222. package/libcxx/include/__format/format_arg.h +7 -10
  223. package/libcxx/include/__format/format_args.h +1 -1
  224. package/libcxx/include/__format/format_context.h +5 -5
  225. package/libcxx/include/__format/format_parse_context.h +2 -2
  226. package/libcxx/include/__format/formatter_output.h +30 -34
  227. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  228. package/libcxx/include/__format/range_default_formatter.h +2 -41
  229. package/libcxx/include/__format/range_format.h +71 -0
  230. package/libcxx/include/__format/range_formatter.h +1 -0
  231. package/libcxx/include/__format/width_estimation_table.h +4 -2
  232. package/libcxx/include/__functional/bind.h +10 -15
  233. package/libcxx/include/__functional/bind_back.h +1 -1
  234. package/libcxx/include/__functional/bind_front.h +1 -1
  235. package/libcxx/include/__functional/function.h +57 -75
  236. package/libcxx/include/__functional/hash.h +1 -10
  237. package/libcxx/include/__functional/identity.h +1 -1
  238. package/libcxx/include/__functional/is_transparent.h +8 -0
  239. package/libcxx/include/__functional/mem_fn.h +2 -1
  240. package/libcxx/include/__functional/operations.h +18 -0
  241. package/libcxx/include/__functional/ranges_operations.h +7 -0
  242. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  243. package/libcxx/include/__functional/weak_result_type.h +14 -28
  244. package/libcxx/include/__fwd/ios.h +1 -1
  245. package/libcxx/include/__fwd/tuple.h +14 -0
  246. package/libcxx/include/__hash_table +371 -357
  247. package/libcxx/include/__ios/fpos.h +4 -4
  248. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  249. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  250. package/libcxx/include/__iterator/concepts.h +6 -9
  251. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  252. package/libcxx/include/__iterator/distance.h +40 -18
  253. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  254. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  255. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  256. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  257. package/libcxx/include/__iterator/iter_move.h +1 -1
  258. package/libcxx/include/__iterator/iterator.h +13 -0
  259. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  260. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  261. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  262. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  263. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  264. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  265. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  266. package/libcxx/include/__locale +3 -10
  267. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  268. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  269. package/libcxx/include/__locale_dir/messages.h +1 -1
  270. package/libcxx/include/__locale_dir/money.h +2 -2
  271. package/libcxx/include/__locale_dir/num.h +190 -243
  272. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  273. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  274. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  275. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  276. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  277. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  278. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  279. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  280. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  281. package/libcxx/include/__locale_dir/time.h +3 -7
  282. package/libcxx/include/__math/hypot.h +1 -1
  283. package/libcxx/include/__math/logarithms.h +1 -1
  284. package/libcxx/include/__math/traits.h +80 -11
  285. package/libcxx/include/__mdspan/extents.h +7 -4
  286. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  287. package/libcxx/include/__mdspan/mdspan.h +29 -23
  288. package/libcxx/include/__memory/addressof.h +7 -5
  289. package/libcxx/include/__memory/align.h +18 -1
  290. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  291. package/libcxx/include/__memory/allocator.h +14 -26
  292. package/libcxx/include/__memory/allocator_traits.h +6 -4
  293. package/libcxx/include/__memory/compressed_pair.h +15 -9
  294. package/libcxx/include/__memory/construct_at.h +12 -23
  295. package/libcxx/include/__memory/inout_ptr.h +1 -1
  296. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  297. package/libcxx/include/__memory/out_ptr.h +1 -1
  298. package/libcxx/include/__memory/pointer_traits.h +1 -1
  299. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  300. package/libcxx/include/__memory/shared_count.h +9 -30
  301. package/libcxx/include/__memory/shared_ptr.h +100 -145
  302. package/libcxx/include/__memory/temp_value.h +1 -2
  303. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  304. package/libcxx/include/__memory/unique_ptr.h +14 -16
  305. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  306. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  307. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  308. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  309. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  310. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  311. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  312. package/libcxx/include/__mutex/mutex.h +2 -2
  313. package/libcxx/include/__mutex/once_flag.h +14 -11
  314. package/libcxx/include/__mutex/tag_types.h +3 -3
  315. package/libcxx/include/__mutex/unique_lock.h +8 -7
  316. package/libcxx/include/__new/align_val_t.h +6 -0
  317. package/libcxx/include/__new/allocate.h +1 -2
  318. package/libcxx/include/__new/exceptions.h +8 -2
  319. package/libcxx/include/__new/global_new_delete.h +4 -11
  320. package/libcxx/include/__new/interference_size.h +0 -4
  321. package/libcxx/include/__new/launder.h +3 -5
  322. package/libcxx/include/__new/nothrow_t.h +1 -1
  323. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  324. package/libcxx/include/__numeric/midpoint.h +9 -14
  325. package/libcxx/include/__numeric/pstl.h +2 -2
  326. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  327. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  328. package/libcxx/include/__pstl/backends/default.h +14 -14
  329. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  330. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  331. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  332. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  333. package/libcxx/include/__random/binomial_distribution.h +10 -4
  334. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  335. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  336. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  337. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  338. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  339. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  340. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  341. package/libcxx/include/__ranges/common_view.h +7 -7
  342. package/libcxx/include/__ranges/drop_view.h +8 -8
  343. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  344. package/libcxx/include/__ranges/elements_of.h +49 -0
  345. package/libcxx/include/__ranges/empty_view.h +5 -5
  346. package/libcxx/include/__ranges/filter_view.h +10 -10
  347. package/libcxx/include/__ranges/iota_view.h +41 -22
  348. package/libcxx/include/__ranges/owning_view.h +15 -15
  349. package/libcxx/include/__ranges/ref_view.h +6 -6
  350. package/libcxx/include/__ranges/repeat_view.h +17 -10
  351. package/libcxx/include/__ranges/single_view.h +8 -8
  352. package/libcxx/include/__ranges/take_view.h +9 -9
  353. package/libcxx/include/__ranges/transform_view.h +1 -2
  354. package/libcxx/include/__ranges/view_interface.h +10 -10
  355. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  356. package/libcxx/include/__ranges/zip_view.h +20 -20
  357. package/libcxx/include/__split_buffer +612 -240
  358. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  359. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  360. package/libcxx/include/__stop_token/stop_source.h +1 -1
  361. package/libcxx/include/__stop_token/stop_state.h +4 -4
  362. package/libcxx/include/__stop_token/stop_token.h +1 -1
  363. package/libcxx/include/__string/char_traits.h +51 -31
  364. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  365. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  366. package/libcxx/include/__system_error/error_category.h +8 -8
  367. package/libcxx/include/__system_error/error_code.h +5 -5
  368. package/libcxx/include/__system_error/error_condition.h +4 -4
  369. package/libcxx/include/__system_error/system_error.h +1 -1
  370. package/libcxx/include/__thread/id.h +1 -1
  371. package/libcxx/include/__thread/jthread.h +1 -1
  372. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  373. package/libcxx/include/__thread/support/c11.h +8 -8
  374. package/libcxx/include/__thread/support/pthread.h +8 -8
  375. package/libcxx/include/__thread/support/windows.h +8 -8
  376. package/libcxx/include/__thread/thread.h +13 -8
  377. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  378. package/libcxx/include/__tree +849 -701
  379. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  380. package/libcxx/include/__tuple/tuple_element.h +0 -12
  381. package/libcxx/include/__tuple/tuple_size.h +0 -4
  382. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  383. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  384. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  385. package/libcxx/include/__type_traits/invoke.h +8 -0
  386. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  387. package/libcxx/include/__type_traits/is_array.h +26 -0
  388. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  389. package/libcxx/include/__type_traits/is_final.h +1 -1
  390. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  391. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  392. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  393. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  394. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  395. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  396. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  397. package/libcxx/include/__utility/cmp.h +19 -7
  398. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  399. package/libcxx/include/__utility/in_place.h +1 -1
  400. package/libcxx/include/__utility/integer_sequence.h +56 -41
  401. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  402. package/libcxx/include/__utility/pair.h +22 -25
  403. package/libcxx/include/__utility/scope_guard.h +2 -0
  404. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  405. package/libcxx/include/__vector/vector.h +187 -160
  406. package/libcxx/include/__vector/vector_bool.h +76 -83
  407. package/libcxx/include/any +118 -155
  408. package/libcxx/include/array +88 -56
  409. package/libcxx/include/atomic +2 -0
  410. package/libcxx/include/barrier +20 -24
  411. package/libcxx/include/bitset +49 -30
  412. package/libcxx/include/ccomplex +3 -11
  413. package/libcxx/include/chrono +47 -0
  414. package/libcxx/include/ciso646 +3 -6
  415. package/libcxx/include/complex +77 -65
  416. package/libcxx/include/complex.h +10 -10
  417. package/libcxx/include/condition_variable +3 -3
  418. package/libcxx/include/cstdalign +3 -10
  419. package/libcxx/include/cstdbool +3 -10
  420. package/libcxx/include/ctgmath +2 -11
  421. package/libcxx/include/ctype.h +24 -24
  422. package/libcxx/include/cwchar +2 -2
  423. package/libcxx/include/deque +109 -225
  424. package/libcxx/include/errno.h +269 -269
  425. package/libcxx/include/exception +4 -1
  426. package/libcxx/include/ext/hash_map +7 -48
  427. package/libcxx/include/ext/hash_set +2 -8
  428. package/libcxx/include/fenv.h +43 -43
  429. package/libcxx/include/flat_map +663 -11
  430. package/libcxx/include/flat_set +543 -8
  431. package/libcxx/include/float.h +16 -16
  432. package/libcxx/include/forward_list +33 -53
  433. package/libcxx/include/fstream +57 -42
  434. package/libcxx/include/future +41 -51
  435. package/libcxx/include/initializer_list +9 -3
  436. package/libcxx/include/inttypes.h +16 -16
  437. package/libcxx/include/ios +28 -28
  438. package/libcxx/include/istream +19 -13
  439. package/libcxx/include/iterator +10 -0
  440. package/libcxx/include/latch +7 -5
  441. package/libcxx/include/limits +4 -4
  442. package/libcxx/include/list +61 -79
  443. package/libcxx/include/map +386 -274
  444. package/libcxx/include/math.h +19 -0
  445. package/libcxx/include/mdspan +1 -5
  446. package/libcxx/include/mutex +29 -19
  447. package/libcxx/include/optional +644 -149
  448. package/libcxx/include/print +9 -5
  449. package/libcxx/include/queue +39 -37
  450. package/libcxx/include/ranges +48 -0
  451. package/libcxx/include/regex +33 -31
  452. package/libcxx/include/scoped_allocator +16 -11
  453. package/libcxx/include/semaphore +15 -18
  454. package/libcxx/include/set +220 -192
  455. package/libcxx/include/shared_mutex +3 -8
  456. package/libcxx/include/span +53 -37
  457. package/libcxx/include/sstream +34 -28
  458. package/libcxx/include/stack +13 -15
  459. package/libcxx/include/stddef.h +10 -10
  460. package/libcxx/include/stdexcept +2 -2
  461. package/libcxx/include/stdio.h +20 -21
  462. package/libcxx/include/streambuf +59 -19
  463. package/libcxx/include/string +574 -573
  464. package/libcxx/include/string_view +113 -89
  465. package/libcxx/include/strstream +10 -10
  466. package/libcxx/include/syncstream +4 -4
  467. package/libcxx/include/tgmath.h +12 -12
  468. package/libcxx/include/tuple +242 -212
  469. package/libcxx/include/type_traits +8 -2
  470. package/libcxx/include/typeindex +5 -3
  471. package/libcxx/include/typeinfo +92 -89
  472. package/libcxx/include/unordered_map +179 -304
  473. package/libcxx/include/unordered_set +168 -195
  474. package/libcxx/include/utility +12 -0
  475. package/libcxx/include/valarray +106 -161
  476. package/libcxx/include/variant +25 -33
  477. package/libcxx/include/version +41 -24
  478. package/libcxx/include/wctype.h +29 -29
  479. package/libcxx/src/any.cpp +4 -0
  480. package/libcxx/src/atomic.cpp +365 -80
  481. package/libcxx/src/barrier.cpp +4 -3
  482. package/libcxx/src/charconv.cpp +6 -3
  483. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  484. package/libcxx/src/error_category.cpp +3 -1
  485. package/libcxx/src/exception.cpp +2 -10
  486. package/libcxx/src/experimental/time_zone.cpp +1 -1
  487. package/libcxx/src/experimental/tzdb.cpp +4 -1
  488. package/libcxx/src/filesystem/error.h +4 -22
  489. package/libcxx/src/filesystem/format_string.h +9 -18
  490. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  491. package/libcxx/src/filesystem/operations.cpp +2 -9
  492. package/libcxx/src/filesystem/path.cpp +3 -1
  493. package/libcxx/src/include/aligned_alloc.h +65 -0
  494. package/libcxx/src/include/config_elast.h +1 -1
  495. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  496. package/libcxx/src/include/overridable_function.h +8 -10
  497. package/libcxx/src/iostream.cpp +56 -37
  498. package/libcxx/src/locale.cpp +213 -196
  499. package/libcxx/src/memory.cpp +12 -14
  500. package/libcxx/src/mutex_destructor.cpp +1 -1
  501. package/libcxx/src/new.cpp +5 -5
  502. package/libcxx/src/optional.cpp +4 -0
  503. package/libcxx/src/print.cpp +9 -1
  504. package/libcxx/src/random.cpp +0 -26
  505. package/libcxx/src/string.cpp +10 -25
  506. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  507. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  508. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  509. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  510. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  511. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  512. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  513. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  514. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  515. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  516. package/libcxx/src/system_error.cpp +2 -0
  517. package/libcxx/src/thread.cpp +1 -3
  518. package/libcxx/src/valarray.cpp +1 -2
  519. package/libcxx/src/vector.cpp +2 -2
  520. package/libcxxabi/include/__cxxabi_config.h +42 -23
  521. package/libcxxabi/src/cxa_exception.cpp +4 -2
  522. package/libcxxabi/src/cxa_exception.h +16 -14
  523. package/libcxxabi/src/cxa_personality.cpp +126 -9
  524. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  525. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  526. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  527. package/libcxxabi/src/demangle/Utility.h +21 -7
  528. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  529. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  530. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  531. package/libtsan/LICENSE.TXT +311 -0
  532. package/libtsan/builtins/assembly.h +41 -8
  533. package/libtsan/interception/interception_win.cpp +4 -0
  534. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  535. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  536. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  537. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  538. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  539. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  540. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  541. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  542. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  543. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  544. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  545. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  546. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  547. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  548. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  549. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  550. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  551. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  552. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  553. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  554. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  555. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  556. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  557. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  558. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  559. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  560. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  561. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  562. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  563. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  564. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  565. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  566. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  567. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  568. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  569. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  570. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  571. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  572. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  573. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  574. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  575. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  576. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  577. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  578. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  579. package/libtsan/tsan_debugging.cpp +2 -2
  580. package/libtsan/tsan_flags.cpp +37 -0
  581. package/libtsan/tsan_flags.h +8 -0
  582. package/libtsan/tsan_flags.inc +12 -0
  583. package/libtsan/tsan_interceptors.h +9 -1
  584. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  585. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  586. package/libtsan/tsan_interface.h +3 -3
  587. package/libtsan/tsan_interface_ann.cpp +23 -9
  588. package/libtsan/tsan_mman.cpp +18 -4
  589. package/libtsan/tsan_platform.h +44 -7
  590. package/libtsan/tsan_platform_linux.cpp +42 -14
  591. package/libtsan/tsan_platform_mac.cpp +16 -3
  592. package/libtsan/tsan_report.h +14 -1
  593. package/libtsan/tsan_rtl.cpp +14 -0
  594. package/libtsan/tsan_rtl.h +7 -2
  595. package/libtsan/tsan_rtl_aarch64.S +3 -5
  596. package/libtsan/tsan_rtl_access.cpp +8 -3
  597. package/libtsan/tsan_rtl_amd64.S +2 -0
  598. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  599. package/libtsan/tsan_rtl_report.cpp +132 -65
  600. package/libtsan/tsan_rtl_thread.cpp +31 -9
  601. package/libtsan/tsan_symbolize.cpp +1 -1
  602. package/libtsan/tsan_symbolize.h +1 -1
  603. package/libtsan/tsan_trace.h +1 -1
  604. package/libunwind/include/__libunwind_config.h +11 -2
  605. package/libunwind/include/libunwind.h +117 -11
  606. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  607. package/libunwind/src/AddressSpace.hpp +40 -19
  608. package/libunwind/src/CompactUnwinder.hpp +16 -5
  609. package/libunwind/src/DwarfInstructions.hpp +24 -13
  610. package/libunwind/src/DwarfParser.hpp +60 -22
  611. package/libunwind/src/EHHeaderParser.hpp +7 -4
  612. package/libunwind/src/Registers.hpp +226 -22
  613. package/libunwind/src/Unwind-seh.cpp +6 -7
  614. package/libunwind/src/Unwind-wasm.c +7 -7
  615. package/libunwind/src/UnwindCursor.hpp +167 -49
  616. package/libunwind/src/UnwindLevel1.c +46 -17
  617. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  618. package/libunwind/src/UnwindRegistersSave.S +86 -2
  619. package/libunwind/src/assembly.h +5 -1
  620. package/libunwind/src/config.h +9 -0
  621. package/libunwind/src/gcc_personality_v0.c +79 -6
  622. package/libunwind/src/libunwind.cpp +104 -4
  623. package/libunwind/src/libunwind_ext.h +7 -1
  624. package/libunwind/src/shadow_stack_unwind.h +2 -2
  625. package/lldb/pretty_printers.py +948 -0
  626. package/package.json +1 -1
  627. package/std/Build/Step/Compile.zig +18 -19
  628. package/std/Build/Step/Run.zig +13 -6
  629. package/std/Build/Step.zig +0 -3
  630. package/std/Io/Threaded.zig +3 -0
  631. package/std/Target/aarch64.zig +620 -77
  632. package/std/Target/amdgcn.zig +421 -21
  633. package/std/Target/arm.zig +40 -6
  634. package/std/Target/bpf.zig +6 -0
  635. package/std/Target/hexagon.zig +41 -6
  636. package/std/Target/loongarch.zig +18 -0
  637. package/std/Target/mips.zig +6 -0
  638. package/std/Target/nvptx.zig +58 -35
  639. package/std/Target/powerpc.zig +27 -19
  640. package/std/Target/riscv.zig +415 -177
  641. package/std/Target/sparc.zig +17 -0
  642. package/std/Target/wasm.zig +7 -0
  643. package/std/Target/x86.zig +200 -31
  644. package/std/Target/xtensa.zig +65 -0
  645. package/std/Target.zig +11 -2
  646. package/std/c.zig +7 -0
  647. package/std/debug/Dwarf.zig +14 -11
  648. package/std/debug/Pdb.zig +24 -16
  649. package/std/hash/xxhash.zig +0 -6
  650. package/std/math/log10.zig +0 -2
  651. package/std/math/modf.zig +0 -1
  652. package/std/mem.zig +1 -2
  653. package/std/os/linux/x86.zig +2 -2
  654. package/std/os/windows.zig +130 -1
  655. package/std/simd.zig +4 -21
  656. package/std/start.zig +4 -3
  657. package/std/zig/Ast.zig +5 -7
  658. package/std/zig/AstGen.zig +20 -14
  659. package/std/zig/ErrorBundle.zig +6 -2
  660. package/std/zig/ZonGen.zig +13 -21
  661. package/std/zig/llvm/Builder.zig +2 -2
  662. package/std/zig/system/arm.zig +56 -2
  663. package/std/zig/system/windows.zig +34 -1
  664. package/std/zig/system/x86.zig +60 -16
  665. package/std/zig/system.zig +0 -10
  666. package/include/amxbf16transposeintrin.h +0 -94
  667. package/include/amxcomplextransposeintrin.h +0 -303
  668. package/include/amxfp16transposeintrin.h +0 -94
  669. package/include/amxmovrstransposeintrin.h +0 -200
  670. package/include/amxtf32transposeintrin.h +0 -105
  671. package/include/amxtransposeintrin.h +0 -248
  672. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  673. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -329,7 +329,8 @@ __vprint_unicode([[maybe_unused]] FILE* __stream,
329
329
  } // namespace __print
330
330
 
331
331
  template <class... _Args>
332
- _LIBCPP_HIDE_FROM_ABI void print(FILE* __stream, format_string<_Args...> __fmt, _Args&&... __args) {
332
+ _LIBCPP_HIDE_FROM_ABI void
333
+ print(FILE* _LIBCPP_DIAGNOSE_NULLPTR __stream, format_string<_Args...> __fmt, _Args&&... __args) {
333
334
  # if _LIBCPP_HAS_UNICODE
334
335
  if constexpr (__print::__use_unicode_execution_charset)
335
336
  __print::__vprint_unicode(__stream, __fmt.get(), std::make_format_args(__args...), false);
@@ -346,7 +347,8 @@ _LIBCPP_HIDE_FROM_ABI void print(format_string<_Args...> __fmt, _Args&&... __arg
346
347
  }
347
348
 
348
349
  template <class... _Args>
349
- _LIBCPP_HIDE_FROM_ABI void println(FILE* __stream, format_string<_Args...> __fmt, _Args&&... __args) {
350
+ _LIBCPP_HIDE_FROM_ABI void
351
+ println(FILE* _LIBCPP_DIAGNOSE_NULLPTR __stream, format_string<_Args...> __fmt, _Args&&... __args) {
350
352
  # if _LIBCPP_HAS_UNICODE
351
353
  // Note the wording in the Standard is inefficient. The output of
352
354
  // std::format is a std::string which is then copied. This solution
@@ -361,7 +363,7 @@ _LIBCPP_HIDE_FROM_ABI void println(FILE* __stream, format_string<_Args...> __fmt
361
363
  }
362
364
 
363
365
  template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
364
- _LIBCPP_HIDE_FROM_ABI inline void println(FILE* __stream) {
366
+ _LIBCPP_HIDE_FROM_ABI inline void println(FILE* _LIBCPP_DIAGNOSE_NULLPTR __stream) {
365
367
  std::print(__stream, "\n");
366
368
  }
367
369
 
@@ -377,7 +379,8 @@ _LIBCPP_HIDE_FROM_ABI void println(format_string<_Args...> __fmt, _Args&&... __a
377
379
 
378
380
  # if _LIBCPP_HAS_UNICODE
379
381
  template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
380
- _LIBCPP_HIDE_FROM_ABI inline void vprint_unicode(FILE* __stream, string_view __fmt, format_args __args) {
382
+ _LIBCPP_HIDE_FROM_ABI inline void
383
+ vprint_unicode(FILE* _LIBCPP_DIAGNOSE_NULLPTR __stream, string_view __fmt, format_args __args) {
381
384
  __print::__vprint_unicode(__stream, __fmt, __args, false);
382
385
  }
383
386
 
@@ -389,7 +392,8 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_unicode(string_view __fmt, format_args
389
392
  # endif // _LIBCPP_HAS_UNICODE
390
393
 
391
394
  template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
392
- _LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(FILE* __stream, string_view __fmt, format_args __args) {
395
+ _LIBCPP_HIDE_FROM_ABI inline void
396
+ vprint_nonunicode(FILE* _LIBCPP_DIAGNOSE_NULLPTR __stream, string_view __fmt, format_args __args) {
393
397
  __print::__vprint_nonunicode(__stream, __fmt, __args, false);
394
398
  }
395
399
 
@@ -376,12 +376,12 @@ public:
376
376
  # endif // _LIBCPP_CXX03_LANG
377
377
 
378
378
  [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const { return c.empty(); }
379
- _LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
379
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
380
380
 
381
- _LIBCPP_HIDE_FROM_ABI reference front() { return c.front(); }
382
- _LIBCPP_HIDE_FROM_ABI const_reference front() const { return c.front(); }
383
- _LIBCPP_HIDE_FROM_ABI reference back() { return c.back(); }
384
- _LIBCPP_HIDE_FROM_ABI const_reference back() const { return c.back(); }
381
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference front() { return c.front(); }
382
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference front() const { return c.front(); }
383
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference back() { return c.back(); }
384
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference back() const { return c.back(); }
385
385
 
386
386
  _LIBCPP_HIDE_FROM_ABI void push(const value_type& __v) { c.push_back(__v); }
387
387
  # ifndef _LIBCPP_CXX03_LANG
@@ -437,19 +437,19 @@ public:
437
437
  };
438
438
 
439
439
  # if _LIBCPP_STD_VER >= 17
440
- template <class _Container, class = enable_if_t<!__is_allocator<_Container>::value> >
440
+ template <class _Container, class = enable_if_t<!__is_allocator_v<_Container>>>
441
441
  queue(_Container) -> queue<typename _Container::value_type, _Container>;
442
442
 
443
443
  template <class _Container,
444
444
  class _Alloc,
445
- class = enable_if_t<!__is_allocator<_Container>::value>,
445
+ class = enable_if_t<!__is_allocator_v<_Container>>,
446
446
  class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
447
447
  queue(_Container, _Alloc) -> queue<typename _Container::value_type, _Container>;
448
448
  # endif
449
449
 
450
450
  # if _LIBCPP_STD_VER >= 23
451
451
  template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
452
- queue(_InputIterator, _InputIterator) -> queue<__iter_value_type<_InputIterator>>;
452
+ queue(_InputIterator, _InputIterator) -> queue<__iterator_value_type<_InputIterator>>;
453
453
 
454
454
  template <ranges::input_range _Range>
455
455
  queue(from_range_t, _Range&&) -> queue<ranges::range_value_t<_Range>>;
@@ -457,11 +457,11 @@ queue(from_range_t, _Range&&) -> queue<ranges::range_value_t<_Range>>;
457
457
  template <class _InputIterator,
458
458
  class _Alloc,
459
459
  __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0,
460
- __enable_if_t<__is_allocator<_Alloc>::value, int> = 0>
460
+ __enable_if_t<__is_allocator_v<_Alloc>, int> = 0>
461
461
  queue(_InputIterator, _InputIterator, _Alloc)
462
- -> queue<__iter_value_type<_InputIterator>, deque<__iter_value_type<_InputIterator>, _Alloc>>;
462
+ -> queue<__iterator_value_type<_InputIterator>, deque<__iterator_value_type<_InputIterator>, _Alloc>>;
463
463
 
464
- template <ranges::input_range _Range, class _Alloc, __enable_if_t<__is_allocator<_Alloc>::value, int> = 0>
464
+ template <ranges::input_range _Range, class _Alloc, __enable_if_t<__is_allocator_v<_Alloc>, int> = 0>
465
465
  queue(from_range_t, _Range&&, _Alloc)
466
466
  -> queue<ranges::range_value_t<_Range>, deque<ranges::range_value_t<_Range>, _Alloc>>;
467
467
  # endif
@@ -664,8 +664,10 @@ public:
664
664
  # endif
665
665
 
666
666
  [[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI bool empty() const { return c.empty(); }
667
- _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
668
- _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_reference top() const { return c.front(); }
667
+ [[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
668
+ [[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_reference top() const {
669
+ return c.front();
670
+ }
669
671
 
670
672
  _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI void push(const value_type& __v);
671
673
  # ifndef _LIBCPP_CXX03_LANG
@@ -700,45 +702,45 @@ public:
700
702
  # if _LIBCPP_STD_VER >= 17
701
703
  template <class _Compare,
702
704
  class _Container,
703
- class = enable_if_t<!__is_allocator<_Compare>::value>,
704
- class = enable_if_t<!__is_allocator<_Container>::value> >
705
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
706
+ class = enable_if_t<!__is_allocator_v<_Container>>>
705
707
  priority_queue(_Compare, _Container) -> priority_queue<typename _Container::value_type, _Container, _Compare>;
706
708
 
707
709
  template <class _InputIterator,
708
- class _Compare = less<__iter_value_type<_InputIterator>>,
709
- class _Container = vector<__iter_value_type<_InputIterator>>,
710
+ class _Compare = less<__iterator_value_type<_InputIterator>>,
711
+ class _Container = vector<__iterator_value_type<_InputIterator>>,
710
712
  class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
711
- class = enable_if_t<!__is_allocator<_Compare>::value>,
712
- class = enable_if_t<!__is_allocator<_Container>::value> >
713
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
714
+ class = enable_if_t<!__is_allocator_v<_Container>>>
713
715
  priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(), _Container = _Container())
714
- -> priority_queue<__iter_value_type<_InputIterator>, _Container, _Compare>;
716
+ -> priority_queue<__iterator_value_type<_InputIterator>, _Container, _Compare>;
715
717
 
716
718
  template <class _Compare,
717
719
  class _Container,
718
720
  class _Alloc,
719
- class = enable_if_t<!__is_allocator<_Compare>::value>,
720
- class = enable_if_t<!__is_allocator<_Container>::value>,
721
- class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
721
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
722
+ class = enable_if_t<!__is_allocator_v<_Container>>,
723
+ class = enable_if_t<uses_allocator<_Container, _Alloc>::value>>
722
724
  priority_queue(_Compare, _Container, _Alloc) -> priority_queue<typename _Container::value_type, _Container, _Compare>;
723
725
 
724
726
  template <class _InputIterator,
725
727
  class _Allocator,
726
728
  class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
727
- class = enable_if_t<__is_allocator<_Allocator>::value> >
729
+ class = enable_if_t<__is_allocator_v<_Allocator>>>
728
730
  priority_queue(_InputIterator, _InputIterator, _Allocator)
729
- -> priority_queue<__iter_value_type<_InputIterator>,
730
- vector<__iter_value_type<_InputIterator>, _Allocator>,
731
- less<__iter_value_type<_InputIterator>>>;
731
+ -> priority_queue<__iterator_value_type<_InputIterator>,
732
+ vector<__iterator_value_type<_InputIterator>, _Allocator>,
733
+ less<__iterator_value_type<_InputIterator>>>;
732
734
 
733
735
  template <class _InputIterator,
734
736
  class _Compare,
735
737
  class _Allocator,
736
738
  class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
737
- class = enable_if_t<!__is_allocator<_Compare>::value>,
738
- class = enable_if_t<__is_allocator<_Allocator>::value> >
739
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
740
+ class = enable_if_t<__is_allocator_v<_Allocator>>>
739
741
  priority_queue(_InputIterator, _InputIterator, _Compare, _Allocator)
740
- -> priority_queue<__iter_value_type<_InputIterator>,
741
- vector<__iter_value_type<_InputIterator>, _Allocator>,
742
+ -> priority_queue<__iterator_value_type<_InputIterator>,
743
+ vector<__iterator_value_type<_InputIterator>, _Allocator>,
742
744
  _Compare>;
743
745
 
744
746
  template <class _InputIterator,
@@ -746,8 +748,8 @@ template <class _InputIterator,
746
748
  class _Container,
747
749
  class _Alloc,
748
750
  class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
749
- class = enable_if_t<!__is_allocator<_Compare>::value>,
750
- class = enable_if_t<!__is_allocator<_Container>::value>,
751
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
752
+ class = enable_if_t<!__is_allocator_v<_Container>>,
751
753
  class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
752
754
  priority_queue(_InputIterator, _InputIterator, _Compare, _Container, _Alloc)
753
755
  -> priority_queue<typename _Container::value_type, _Container, _Compare>;
@@ -757,19 +759,19 @@ priority_queue(_InputIterator, _InputIterator, _Compare, _Container, _Alloc)
757
759
 
758
760
  template <ranges::input_range _Range,
759
761
  class _Compare = less<ranges::range_value_t<_Range>>,
760
- class = enable_if_t<!__is_allocator<_Compare>::value>>
762
+ class = enable_if_t<!__is_allocator_v<_Compare>>>
761
763
  priority_queue(from_range_t, _Range&&, _Compare = _Compare())
762
764
  -> priority_queue<ranges::range_value_t<_Range>, vector<ranges::range_value_t<_Range>>, _Compare>;
763
765
 
764
766
  template <ranges::input_range _Range,
765
767
  class _Compare,
766
768
  class _Alloc,
767
- class = enable_if_t<!__is_allocator<_Compare>::value>,
768
- class = enable_if_t<__is_allocator<_Alloc>::value>>
769
+ class = enable_if_t<!__is_allocator_v<_Compare>>,
770
+ class = enable_if_t<__is_allocator_v<_Alloc>>>
769
771
  priority_queue(from_range_t, _Range&&, _Compare, _Alloc)
770
772
  -> priority_queue<ranges::range_value_t<_Range>, vector<ranges::range_value_t<_Range>, _Alloc>, _Compare>;
771
773
 
772
- template <ranges::input_range _Range, class _Alloc, class = enable_if_t<__is_allocator<_Alloc>::value>>
774
+ template <ranges::input_range _Range, class _Alloc, class = enable_if_t<__is_allocator_v<_Alloc>>>
773
775
  priority_queue(from_range_t, _Range&&, _Alloc)
774
776
  -> priority_queue<ranges::range_value_t<_Range>, vector<ranges::range_value_t<_Range>, _Alloc>>;
775
777
 
@@ -116,6 +116,10 @@ namespace std::ranges {
116
116
  // [range.dangling], dangling iterator handling
117
117
  struct dangling;
118
118
 
119
+ // [range.elementsof], class template elements_of
120
+ template<range R, class Allocator = allocator<byte>>
121
+ struct elements_of;
122
+
119
123
  template<range R>
120
124
  using borrowed_iterator_t = see below;
121
125
 
@@ -267,6 +271,11 @@ namespace std::ranges {
267
271
  template<class W, class Bound>
268
272
  inline constexpr bool enable_borrowed_range<iota_view<W, Bound>> = true;
269
273
 
274
+ namespace views {
275
+ inline constexpr unspecified iota = unspecified;
276
+ inline constexpr unspecified indices = unspecified; // Since C++26
277
+ }
278
+
270
279
  // [range.repeat], repeat view
271
280
  template<class T>
272
281
  concept integer-like-with-usable-difference-type = // exposition only
@@ -339,6 +348,41 @@ namespace std::ranges {
339
348
 
340
349
  namespace views { inline constexpr unspecified zip = unspecified; } // C++23
341
350
 
351
+ // [range.zip.transform], zip transform view
352
+ template<move_constructible F, input_range... Views>
353
+ requires (view<Views> && ...) && (sizeof...(Views) > 0) && is_object_v<F> &&
354
+ regular_invocable<F&, range_reference_t<Views>...> &&
355
+ can-reference<invoke_result_t<F&, range_reference_t<Views>...>>
356
+ class zip_transform_view; // C++23
357
+
358
+ namespace views { inline constexpr unspecified zip_transform = unspecified; } // C++23
359
+
360
+ // [range.adjacent], adjacent view
361
+ template<forward_range V, size_t N>
362
+ requires view<V> && (N > 0)
363
+ class adjacent_view;
364
+
365
+ template<class V, size_t N>
366
+ constexpr bool enable_borrowed_range<adjacent_view<V, N>> =
367
+ enable_borrowed_range<V>;
368
+
369
+ namespace views {
370
+ template<size_t N>
371
+ constexpr unspecified adjacent = unspecified;
372
+ inline constexpr auto pairwise = adjacent<2>;
373
+ }
374
+
375
+ // [range.adjacent.transform], adjacent transform view
376
+ template<forward_range V, move_constructible F, size_t N>
377
+ requires see below
378
+ class adjacent_transform_view;
379
+
380
+ namespace views {
381
+ template<size_t N>
382
+ constexpr unspecified adjacent_transform = unspecified;
383
+ inline constexpr auto pairwise_transform = adjacent_transform<2>;
384
+ }
385
+
342
386
  // [range.as.rvalue]
343
387
  template <view V>
344
388
  requires input_range<V>
@@ -404,6 +448,7 @@ namespace std {
404
448
  # include <__ranges/data.h>
405
449
  # include <__ranges/drop_view.h>
406
450
  # include <__ranges/drop_while_view.h>
451
+ # include <__ranges/elements_of.h>
407
452
  # include <__ranges/elements_view.h>
408
453
  # include <__ranges/empty.h>
409
454
  # include <__ranges/empty_view.h>
@@ -433,12 +478,15 @@ namespace std {
433
478
  # endif
434
479
 
435
480
  # if _LIBCPP_STD_VER >= 23
481
+ # include <__ranges/adjacent_transform_view.h>
482
+ # include <__ranges/adjacent_view.h>
436
483
  # include <__ranges/as_rvalue_view.h>
437
484
  # include <__ranges/chunk_by_view.h>
438
485
  # include <__ranges/from_range.h>
439
486
  # include <__ranges/join_with_view.h>
440
487
  # include <__ranges/repeat_view.h>
441
488
  # include <__ranges/to.h>
489
+ # include <__ranges/zip_transform_view.h>
442
490
  # include <__ranges/zip_view.h>
443
491
  # endif
444
492
 
@@ -986,7 +986,7 @@ public:
986
986
  explicit regex_error(regex_constants::error_type __ecode);
987
987
  _LIBCPP_HIDE_FROM_ABI regex_error(const regex_error&) _NOEXCEPT = default;
988
988
  ~regex_error() _NOEXCEPT override;
989
- _LIBCPP_HIDE_FROM_ABI regex_constants::error_type code() const { return __code_; }
989
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI regex_constants::error_type code() const { return __code_; }
990
990
  };
991
991
 
992
992
  template <regex_constants::error_type _Ev>
@@ -1004,7 +1004,7 @@ public:
1004
1004
  typedef _CharT char_type;
1005
1005
  typedef basic_string<char_type> string_type;
1006
1006
  typedef locale locale_type;
1007
- # if defined(__BIONIC__) || defined(_NEWLIB_VERSION)
1007
+ # if defined(__BIONIC__) || _LIBCPP_LIBC_NEWLIB
1008
1008
  // Originally bionic's ctype_base used its own ctype masks because the
1009
1009
  // builtin ctype implementation wasn't in libc++ yet. Bionic's ctype mask
1010
1010
  // was only 8 bits wide and already saturated, so it used a wider type here
@@ -1013,9 +1013,7 @@ public:
1013
1013
  // implementation, but this was not updated to match. Since then Android has
1014
1014
  // needed to maintain a stable libc++ ABI, and this can't be changed without
1015
1015
  // an ABI break.
1016
- // We also need this workaround for newlib since _NEWLIB_VERSION is not
1017
- // defined yet inside __config, so we can't set the
1018
- // _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE macro. Additionally, newlib is
1016
+ // We also need this workaround for newlib since newlib is
1019
1017
  // often used for space constrained environments, so it makes sense not to
1020
1018
  // duplicate the ctype table.
1021
1019
  typedef uint16_t char_class_type;
@@ -2120,7 +2118,7 @@ public:
2120
2118
  __ranges_.push_back(
2121
2119
  std::make_pair(__traits_.transform(__b.begin(), __b.end()), __traits_.transform(__e.begin(), __e.end())));
2122
2120
  } else {
2123
- if (__b.size() != 1 || __e.size() != 1)
2121
+ if (__b.size() != 1 || __e.size() != 1 || char_traits<typename string_type::value_type>::lt(__e[0], __b[0]))
2124
2122
  std::__throw_regex_error<regex_constants::error_range>();
2125
2123
  if (__icase_) {
2126
2124
  __b[0] = __traits_.translate_nocase(__b[0]);
@@ -2414,8 +2412,8 @@ public:
2414
2412
  # endif // _LIBCPP_CXX03_LANG
2415
2413
 
2416
2414
  // const operations:
2417
- _LIBCPP_HIDE_FROM_ABI unsigned mark_count() const { return __marked_count_; }
2418
- _LIBCPP_HIDE_FROM_ABI flag_type flags() const { return __flags_; }
2415
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI unsigned mark_count() const { return __marked_count_; }
2416
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI flag_type flags() const { return __flags_; }
2419
2417
 
2420
2418
  // locale:
2421
2419
  _LIBCPP_HIDE_FROM_ABI locale_type imbue(locale_type __loc) {
@@ -2423,7 +2421,7 @@ public:
2423
2421
  __start_.reset();
2424
2422
  return __traits_.imbue(__loc);
2425
2423
  }
2426
- _LIBCPP_HIDE_FROM_ABI locale_type getloc() const { return __traits_.getloc(); }
2424
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI locale_type getloc() const { return __traits_.getloc(); }
2427
2425
 
2428
2426
  // swap:
2429
2427
  void swap(basic_regex& __r);
@@ -4208,17 +4206,17 @@ public:
4208
4206
 
4209
4207
  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR sub_match() : matched() {}
4210
4208
 
4211
- _LIBCPP_HIDE_FROM_ABI difference_type length() const {
4209
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI difference_type length() const {
4212
4210
  return matched ? std::distance(this->first, this->second) : 0;
4213
4211
  }
4214
- _LIBCPP_HIDE_FROM_ABI string_type str() const {
4212
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI string_type str() const {
4215
4213
  return matched ? string_type(this->first, this->second) : string_type();
4216
4214
  }
4217
4215
  _LIBCPP_HIDE_FROM_ABI operator string_type() const { return str(); }
4218
4216
 
4219
- _LIBCPP_HIDE_FROM_ABI int compare(const sub_match& __s) const { return str().compare(__s.str()); }
4220
- _LIBCPP_HIDE_FROM_ABI int compare(const string_type& __s) const { return str().compare(__s); }
4221
- _LIBCPP_HIDE_FROM_ABI int compare(const value_type* __s) const { return str().compare(__s); }
4217
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI int compare(const sub_match& __s) const { return str().compare(__s.str()); }
4218
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI int compare(const string_type& __s) const { return str().compare(__s); }
4219
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI int compare(const value_type* __s) const { return str().compare(__s); }
4222
4220
 
4223
4221
  _LIBCPP_HIDE_FROM_ABI void swap(sub_match& __s) _NOEXCEPT_(__is_nothrow_swappable_v<_BidirectionalIterator>) {
4224
4222
  this->pair<_BidirectionalIterator, _BidirectionalIterator>::swap(__s);
@@ -4583,49 +4581,53 @@ public:
4583
4581
  _LIBCPP_HIDE_FROM_ABI bool ready() const { return __ready_; }
4584
4582
 
4585
4583
  // size:
4586
- _LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT { return __matches_.size(); }
4587
- _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT { return __matches_.max_size(); }
4584
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT { return __matches_.size(); }
4585
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT { return __matches_.max_size(); }
4588
4586
  [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT { return size() == 0; }
4589
4587
 
4590
4588
  // element access:
4591
- _LIBCPP_HIDE_FROM_ABI difference_type length(size_type __sub = 0) const {
4589
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI difference_type length(size_type __sub = 0) const {
4592
4590
  // If the match results are not ready, this will return `0`.
4593
4591
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::length() called when not ready");
4594
4592
  return (*this)[__sub].length();
4595
4593
  }
4596
- _LIBCPP_HIDE_FROM_ABI difference_type position(size_type __sub = 0) const {
4594
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI difference_type position(size_type __sub = 0) const {
4597
4595
  // If the match results are not ready, this will return the result of subtracting two default-constructed iterators
4598
4596
  // (which is typically a well-defined operation).
4599
4597
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::position() called when not ready");
4600
4598
  return std::distance(__position_start_, (*this)[__sub].first);
4601
4599
  }
4602
- _LIBCPP_HIDE_FROM_ABI string_type str(size_type __sub = 0) const {
4600
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI string_type str(size_type __sub = 0) const {
4603
4601
  // If the match results are not ready, this will return an empty string.
4604
4602
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::str() called when not ready");
4605
4603
  return (*this)[__sub].str();
4606
4604
  }
4607
- _LIBCPP_HIDE_FROM_ABI const_reference operator[](size_type __n) const {
4605
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference operator[](size_type __n) const {
4608
4606
  // If the match results are not ready, this call will be equivalent to calling this function with `__n >= size()`,
4609
4607
  // returning an empty subrange.
4610
4608
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::operator[]() called when not ready");
4611
4609
  return __n < __matches_.size() ? __matches_[__n] : __unmatched_;
4612
4610
  }
4613
4611
 
4614
- _LIBCPP_HIDE_FROM_ABI const_reference prefix() const {
4612
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference prefix() const {
4615
4613
  // If the match results are not ready, this will return a default-constructed empty `__suffix_`.
4616
4614
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::prefix() called when not ready");
4617
4615
  return __prefix_;
4618
4616
  }
4619
- _LIBCPP_HIDE_FROM_ABI const_reference suffix() const {
4617
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference suffix() const {
4620
4618
  // If the match results are not ready, this will return a default-constructed empty `__suffix_`.
4621
4619
  _LIBCPP_ASSERT_PEDANTIC(ready(), "match_results::suffix() called when not ready");
4622
4620
  return __suffix_;
4623
4621
  }
4624
4622
 
4625
- _LIBCPP_HIDE_FROM_ABI const_iterator begin() const { return empty() ? __matches_.end() : __matches_.begin(); }
4626
- _LIBCPP_HIDE_FROM_ABI const_iterator end() const { return __matches_.end(); }
4627
- _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const { return empty() ? __matches_.end() : __matches_.begin(); }
4628
- _LIBCPP_HIDE_FROM_ABI const_iterator cend() const { return __matches_.end(); }
4623
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator begin() const {
4624
+ return empty() ? __matches_.end() : __matches_.begin();
4625
+ }
4626
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator end() const { return __matches_.end(); }
4627
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const {
4628
+ return empty() ? __matches_.end() : __matches_.begin();
4629
+ }
4630
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator cend() const { return __matches_.end(); }
4629
4631
 
4630
4632
  // format:
4631
4633
  template <class _OutputIter>
@@ -4641,14 +4643,14 @@ public:
4641
4643
  return format(__output_iter, __fmt.data(), __fmt.data() + __fmt.size(), __flags);
4642
4644
  }
4643
4645
  template <class _ST, class _SA>
4644
- _LIBCPP_HIDE_FROM_ABI basic_string<char_type, _ST, _SA>
4646
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_string<char_type, _ST, _SA>
4645
4647
  format(const basic_string<char_type, _ST, _SA>& __fmt,
4646
4648
  regex_constants::match_flag_type __flags = regex_constants::format_default) const {
4647
4649
  basic_string<char_type, _ST, _SA> __r;
4648
4650
  format(std::back_inserter(__r), __fmt.data(), __fmt.data() + __fmt.size(), __flags);
4649
4651
  return __r;
4650
4652
  }
4651
- _LIBCPP_HIDE_FROM_ABI string_type
4653
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI string_type
4652
4654
  format(const char_type* __fmt, regex_constants::match_flag_type __flags = regex_constants::format_default) const {
4653
4655
  string_type __r;
4654
4656
  format(std::back_inserter(__r), __fmt, __fmt + char_traits<char_type>::length(__fmt), __flags);
@@ -4656,7 +4658,7 @@ public:
4656
4658
  }
4657
4659
 
4658
4660
  // allocator:
4659
- _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return __matches_.get_allocator(); }
4661
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return __matches_.get_allocator(); }
4660
4662
 
4661
4663
  // swap:
4662
4664
  void swap(match_results& __m);
@@ -5377,7 +5379,7 @@ public:
5377
5379
  _LIBCPP_HIDE_FROM_ABI bool operator!=(const regex_iterator& __x) const { return !(*this == __x); }
5378
5380
  # endif
5379
5381
 
5380
- _LIBCPP_HIDE_FROM_ABI reference operator*() const { return __match_; }
5382
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference operator*() const { return __match_; }
5381
5383
  _LIBCPP_HIDE_FROM_ABI pointer operator->() const { return std::addressof(__match_); }
5382
5384
 
5383
5385
  regex_iterator& operator++();
@@ -5558,7 +5560,7 @@ public:
5558
5560
  _LIBCPP_HIDE_FROM_ABI bool operator!=(const regex_token_iterator& __x) const { return !(*this == __x); }
5559
5561
  # endif
5560
5562
 
5561
- _LIBCPP_HIDE_FROM_ABI const value_type& operator*() const { return *__result_; }
5563
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const value_type& operator*() const { return *__result_; }
5562
5564
  _LIBCPP_HIDE_FROM_ABI const value_type* operator->() const { return __result_; }
5563
5565
 
5564
5566
  regex_token_iterator& operator++();
@@ -382,13 +382,17 @@ public:
382
382
  // scoped_allocator_adaptor& operator=(scoped_allocator_adaptor&&) = default;
383
383
  // ~scoped_allocator_adaptor() = default;
384
384
 
385
- _LIBCPP_HIDE_FROM_ABI inner_allocator_type& inner_allocator() _NOEXCEPT { return _Base::inner_allocator(); }
386
- _LIBCPP_HIDE_FROM_ABI const inner_allocator_type& inner_allocator() const _NOEXCEPT {
385
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI inner_allocator_type& inner_allocator() _NOEXCEPT {
386
+ return _Base::inner_allocator();
387
+ }
388
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const inner_allocator_type& inner_allocator() const _NOEXCEPT {
387
389
  return _Base::inner_allocator();
388
390
  }
389
391
 
390
- _LIBCPP_HIDE_FROM_ABI outer_allocator_type& outer_allocator() _NOEXCEPT { return _Base::outer_allocator(); }
391
- _LIBCPP_HIDE_FROM_ABI const outer_allocator_type& outer_allocator() const _NOEXCEPT {
392
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI outer_allocator_type& outer_allocator() _NOEXCEPT {
393
+ return _Base::outer_allocator();
394
+ }
395
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const outer_allocator_type& outer_allocator() const _NOEXCEPT {
392
396
  return _Base::outer_allocator();
393
397
  }
394
398
 
@@ -403,7 +407,7 @@ public:
403
407
  allocator_traits<outer_allocator_type>::deallocate(outer_allocator(), __p, __n);
404
408
  }
405
409
 
406
- _LIBCPP_HIDE_FROM_ABI size_type max_size() const {
410
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type max_size() const {
407
411
  return allocator_traits<outer_allocator_type>::max_size(outer_allocator());
408
412
  }
409
413
 
@@ -434,10 +438,10 @@ public:
434
438
  piecewise_construct,
435
439
  __transform_tuple(typename __uses_alloc_ctor< _T1, inner_allocator_type&, _Args1... >::type(),
436
440
  std::move(__x),
437
- typename __make_tuple_indices<sizeof...(_Args1)>::type{}),
441
+ __index_sequence_for<_Args1...>()),
438
442
  __transform_tuple(typename __uses_alloc_ctor< _T2, inner_allocator_type&, _Args2... >::type(),
439
443
  std::move(__y),
440
- typename __make_tuple_indices<sizeof...(_Args2)>::type{}));
444
+ __index_sequence_for<_Args2...>()));
441
445
  }
442
446
 
443
447
  template <class _T1, class _T2>
@@ -473,7 +477,8 @@ public:
473
477
  allocator_traits<typename _OM::type>::destroy(_OM()(outer_allocator()), __p);
474
478
  }
475
479
 
476
- _LIBCPP_HIDE_FROM_ABI scoped_allocator_adaptor select_on_container_copy_construction() const _NOEXCEPT {
480
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI scoped_allocator_adaptor
481
+ select_on_container_copy_construction() const _NOEXCEPT {
477
482
  return _Base::select_on_container_copy_construction();
478
483
  }
479
484
 
@@ -503,20 +508,20 @@ private:
503
508
 
504
509
  template <class... _Args, size_t... _Idx>
505
510
  _LIBCPP_HIDE_FROM_ABI tuple<_Args&&...>
506
- __transform_tuple(integral_constant<int, 0>, tuple<_Args...>&& __t, __tuple_indices<_Idx...>) {
511
+ __transform_tuple(integral_constant<int, 0>, tuple<_Args...>&& __t, __index_sequence<_Idx...>) {
507
512
  return std::forward_as_tuple(std::get<_Idx>(std::move(__t))...);
508
513
  }
509
514
 
510
515
  template <class... _Args, size_t... _Idx>
511
516
  _LIBCPP_HIDE_FROM_ABI tuple<allocator_arg_t, inner_allocator_type&, _Args&&...>
512
- __transform_tuple(integral_constant<int, 1>, tuple<_Args...>&& __t, __tuple_indices<_Idx...>) {
517
+ __transform_tuple(integral_constant<int, 1>, tuple<_Args...>&& __t, __index_sequence<_Idx...>) {
513
518
  using _Tup = tuple<allocator_arg_t, inner_allocator_type&, _Args&&...>;
514
519
  return _Tup(allocator_arg, inner_allocator(), std::get<_Idx>(std::move(__t))...);
515
520
  }
516
521
 
517
522
  template <class... _Args, size_t... _Idx>
518
523
  _LIBCPP_HIDE_FROM_ABI tuple<_Args&&..., inner_allocator_type&>
519
- __transform_tuple(integral_constant<int, 2>, tuple<_Args...>&& __t, __tuple_indices<_Idx...>) {
524
+ __transform_tuple(integral_constant<int, 2>, tuple<_Args...>&& __t, __index_sequence<_Idx...>) {
520
525
  using _Tup = tuple<_Args&&..., inner_allocator_type&>;
521
526
  return _Tup(std::get<_Idx>(std::move(__t))..., inner_allocator());
522
527
  }