CMakeLists.txt | 2 +- build.zig | 22 +- ci/azure/build.zig | 21 +- ci/azure/macos_arm64_script | 4 +- ci/azure/macos_script | 2 +- ci/azure/pipelines.yml | 2 +- ci/drone/drone.yml | 18 +- ci/srht/freebsd_script | 2 +- ci/zinc/drone.yml | 4 +- cmake/Findclang.cmake | 46 +- cmake/Findlld.cmake | 36 +- cmake/Findllvm.cmake | 82 +- doc/langref.html.in | 6 + lib/compiler_rt/clear_cache.zig | 4 +- lib/compiler_rt/common.zig | 2 +- lib/compiler_rt/mulo.zig | 9 + lib/include/__clang_cuda_complex_builtins.h | 6 +- lib/include/__clang_cuda_intrinsics.h | 32 + lib/include/__clang_cuda_libdevice_declares.h | 6 + lib/include/__clang_cuda_math.h | 2 +- lib/include/__clang_cuda_runtime_wrapper.h | 69 +- lib/include/__clang_cuda_texture_intrinsics.h | 740 + lib/include/__clang_hip_runtime_wrapper.h | 21 +- lib/include/__wmmintrin_aes.h | 2 +- lib/include/altivec.h | 294 +- lib/include/ammintrin.h | 4 + lib/include/amxintrin.h | 33 +- lib/include/arm_acle.h | 6 + lib/include/arm_fp16.h | 178 +- lib/include/arm_neon.h | 16022 ++- lib/include/avx2intrin.h | 362 +- lib/include/avx512bf16intrin.h | 6 +- lib/include/avx512bwintrin.h | 142 +- lib/include/avx512dqintrin.h | 730 +- lib/include/avx512erintrin.h | 204 +- lib/include/avx512fintrin.h | 3142 +- lib/include/avx512fp16intrin.h | 3349 + lib/include/avx512vbmi2intrin.h | 96 +- lib/include/avx512vlbf16intrin.h | 54 +- lib/include/avx512vlbwintrin.h | 188 +- lib/include/avx512vldqintrin.h | 268 +- lib/include/avx512vlfp16intrin.h | 2068 + lib/include/avx512vlintrin.h | 1126 +- lib/include/avx512vlvbmi2intrin.h | 192 +- lib/include/avx512vlvnniintrin.h | 16 +- lib/include/avxintrin.h | 381 +- lib/include/cetintrin.h | 10 + lib/include/cpuid.h | 3 +- lib/include/crc32intrin.h | 100 + lib/include/emmintrin.h | 38 +- lib/include/f16cintrin.h | 8 +- lib/include/float.h | 21 +- lib/include/gfniintrin.h | 95 +- lib/include/hexagon_protos.h | 11 - lib/include/hexagon_types.h | 32 - lib/include/hvx_hexagon_protos.h | 1609 +- lib/include/ia32intrin.h | 12 +- lib/include/immintrin.h | 34 +- lib/include/intrin.h | 40 +- lib/include/keylockerintrin.h | 10 +- lib/include/limits.h | 20 + lib/include/mmintrin.h | 4 + lib/include/nmmintrin.h | 4 + lib/include/opencl-c-base.h | 80 +- lib/include/opencl-c.h | 2158 +- lib/include/openmp_wrappers/complex | 13 +- lib/include/openmp_wrappers/complex.h | 9 + lib/include/pmmintrin.h | 4 + lib/include/ppc_wrappers/emmintrin.h | 5 +- lib/include/ppc_wrappers/mm_malloc.h | 4 +- lib/include/ppc_wrappers/mmintrin.h | 5 +- lib/include/ppc_wrappers/pmmintrin.h | 5 +- lib/include/ppc_wrappers/smmintrin.h | 7 +- lib/include/ppc_wrappers/tmmintrin.h | 5 +- lib/include/ppc_wrappers/xmmintrin.h | 5 +- lib/include/prfchwintrin.h | 7 +- lib/include/riscv_vector.h | 218898 ++++++++++++++------------------ lib/include/smmintrin.h | 239 +- lib/include/stdatomic.h | 15 +- lib/include/stdint.h | 168 + lib/include/tmmintrin.h | 16 +- lib/include/unwind.h | 3 +- lib/include/vaesintrin.h | 2 +- lib/include/vpclmulqdqintrin.h | 12 +- lib/include/wasm_simd128.h | 191 +- lib/include/wmmintrin.h | 4 + lib/include/x86gprintrin.h | 12 + lib/include/xmmintrin.h | 14 +- lib/include/xopintrin.h | 62 +- lib/libcxx/include/__algorithm/adjacent_find.h | 7 +- lib/libcxx/include/__algorithm/all_of.h | 5 - lib/libcxx/include/__algorithm/any_of.h | 5 - lib/libcxx/include/__algorithm/binary_search.h | 10 +- lib/libcxx/include/__algorithm/clamp.h | 8 +- lib/libcxx/include/__algorithm/comp.h | 5 - lib/libcxx/include/__algorithm/comp_ref_type.h | 24 +- lib/libcxx/include/__algorithm/copy.h | 7 +- lib/libcxx/include/__algorithm/copy_backward.h | 7 +- lib/libcxx/include/__algorithm/copy_if.h | 9 - lib/libcxx/include/__algorithm/copy_n.h | 12 +- lib/libcxx/include/__algorithm/count.h | 5 - lib/libcxx/include/__algorithm/count_if.h | 5 - lib/libcxx/include/__algorithm/equal.h | 13 +- lib/libcxx/include/__algorithm/equal_range.h | 7 +- lib/libcxx/include/__algorithm/fill.h | 7 +- lib/libcxx/include/__algorithm/fill_n.h | 5 - lib/libcxx/include/__algorithm/find.h | 5 - lib/libcxx/include/__algorithm/find_end.h | 18 +- lib/libcxx/include/__algorithm/find_first_of.h | 7 +- lib/libcxx/include/__algorithm/find_if.h | 5 - lib/libcxx/include/__algorithm/find_if_not.h | 5 - lib/libcxx/include/__algorithm/for_each.h | 5 - lib/libcxx/include/__algorithm/for_each_n.h | 5 - lib/libcxx/include/__algorithm/generate.h | 5 - lib/libcxx/include/__algorithm/generate_n.h | 5 - lib/libcxx/include/__algorithm/half_positive.h | 5 - lib/libcxx/include/__algorithm/in_in_out_result.h | 54 + lib/libcxx/include/__algorithm/in_in_result.h | 51 + lib/libcxx/include/__algorithm/in_out_result.h | 54 + lib/libcxx/include/__algorithm/includes.h | 7 +- lib/libcxx/include/__algorithm/inplace_merge.h | 4 +- lib/libcxx/include/__algorithm/is_heap.h | 11 +- lib/libcxx/include/__algorithm/is_heap_until.h | 28 +- lib/libcxx/include/__algorithm/is_partitioned.h | 5 - lib/libcxx/include/__algorithm/is_permutation.h | 12 +- lib/libcxx/include/__algorithm/is_sorted.h | 9 +- lib/libcxx/include/__algorithm/is_sorted_until.h | 26 +- lib/libcxx/include/__algorithm/iter_swap.h | 5 - lib/libcxx/include/__algorithm/lexicographical_compare.h | 7 +- lib/libcxx/include/__algorithm/lower_bound.h | 10 +- lib/libcxx/include/__algorithm/make_heap.h | 9 +- lib/libcxx/include/__algorithm/max.h | 6 +- lib/libcxx/include/__algorithm/max_element.h | 28 +- lib/libcxx/include/__algorithm/merge.h | 7 +- lib/libcxx/include/__algorithm/min.h | 6 +- lib/libcxx/include/__algorithm/min_element.h | 28 +- lib/libcxx/include/__algorithm/minmax.h | 8 +- lib/libcxx/include/__algorithm/minmax_element.h | 7 +- lib/libcxx/include/__algorithm/mismatch.h | 7 +- lib/libcxx/include/__algorithm/move.h | 9 +- lib/libcxx/include/__algorithm/move_backward.h | 9 +- lib/libcxx/include/__algorithm/next_permutation.h | 7 +- lib/libcxx/include/__algorithm/none_of.h | 5 - lib/libcxx/include/__algorithm/nth_element.h | 20 +- lib/libcxx/include/__algorithm/partial_sort.h | 25 +- lib/libcxx/include/__algorithm/partial_sort_copy.h | 10 +- lib/libcxx/include/__algorithm/partition.h | 11 +- lib/libcxx/include/__algorithm/partition_copy.h | 5 - lib/libcxx/include/__algorithm/partition_point.h | 7 +- lib/libcxx/include/__algorithm/pop_heap.h | 9 +- lib/libcxx/include/__algorithm/prev_permutation.h | 7 +- lib/libcxx/include/__algorithm/push_heap.h | 7 +- lib/libcxx/include/__algorithm/remove.h | 7 +- lib/libcxx/include/__algorithm/remove_copy.h | 5 - lib/libcxx/include/__algorithm/remove_copy_if.h | 5 - lib/libcxx/include/__algorithm/remove_if.h | 11 +- lib/libcxx/include/__algorithm/replace.h | 5 - lib/libcxx/include/__algorithm/replace_copy.h | 5 - lib/libcxx/include/__algorithm/replace_copy_if.h | 5 - lib/libcxx/include/__algorithm/replace_if.h | 5 - lib/libcxx/include/__algorithm/reverse.h | 7 +- lib/libcxx/include/__algorithm/reverse_copy.h | 5 - lib/libcxx/include/__algorithm/rotate.h | 5 - lib/libcxx/include/__algorithm/rotate_copy.h | 9 +- lib/libcxx/include/__algorithm/sample.h | 3 +- lib/libcxx/include/__algorithm/search.h | 12 +- lib/libcxx/include/__algorithm/search_n.h | 14 +- lib/libcxx/include/__algorithm/set_difference.h | 7 +- lib/libcxx/include/__algorithm/set_intersection.h | 7 +- lib/libcxx/include/__algorithm/set_symmetric_difference.h | 7 +- lib/libcxx/include/__algorithm/set_union.h | 7 +- lib/libcxx/include/__algorithm/shift_left.h | 9 +- lib/libcxx/include/__algorithm/shift_right.h | 10 +- lib/libcxx/include/__algorithm/shuffle.h | 33 + lib/libcxx/include/__algorithm/sift_down.h | 14 +- lib/libcxx/include/__algorithm/sort.h | 98 +- lib/libcxx/include/__algorithm/sort_heap.h | 7 +- lib/libcxx/include/__algorithm/stable_partition.h | 26 +- lib/libcxx/include/__algorithm/stable_sort.h | 13 +- lib/libcxx/include/__algorithm/swap_ranges.h | 5 - lib/libcxx/include/__algorithm/transform.h | 5 - lib/libcxx/include/__algorithm/unique.h | 13 +- lib/libcxx/include/__algorithm/unique_copy.h | 11 +- lib/libcxx/include/__algorithm/unwrap_iter.h | 9 +- lib/libcxx/include/__algorithm/upper_bound.h | 10 +- lib/libcxx/include/__availability | 19 +- lib/libcxx/include/__bit/bit_cast.h | 38 + lib/libcxx/include/__bit/byteswap.h | 55 + lib/libcxx/include/__bit_reference | 2 +- lib/libcxx/include/__bsd_locale_defaults.h | 2 +- lib/libcxx/include/__bsd_locale_fallbacks.h | 12 +- lib/libcxx/include/__charconv/chars_format.h | 77 + lib/libcxx/include/__charconv/from_chars_result.h | 37 + lib/libcxx/include/__charconv/to_chars_result.h | 37 + lib/libcxx/include/__chrono/calendar.h | 1276 + lib/libcxx/include/__chrono/convert_to_timespec.h | 55 + lib/libcxx/include/__chrono/duration.h | 615 + lib/libcxx/include/__chrono/file_clock.h | 85 + lib/libcxx/include/__chrono/high_resolution_clock.h | 36 + lib/libcxx/include/__chrono/steady_clock.h | 44 + lib/libcxx/include/__chrono/system_clock.h | 54 + lib/libcxx/include/__chrono/time_point.h | 249 + lib/libcxx/include/__compare/common_comparison_category.h | 94 + lib/libcxx/include/__compare/compare_partial_order_fallback.h | 73 + lib/libcxx/include/__compare/compare_strong_order_fallback.h | 70 + lib/libcxx/include/__compare/compare_three_way.h | 41 + lib/libcxx/include/__compare/compare_three_way_result.h | 43 + lib/libcxx/include/__compare/compare_weak_order_fallback.h | 70 + lib/libcxx/include/__compare/is_eq.h | 34 + lib/libcxx/include/__compare/ordering.h | 319 + lib/libcxx/include/__compare/partial_order.h | 71 + lib/libcxx/include/__compare/strong_order.h | 136 + lib/libcxx/include/__compare/synth_three_way.h | 51 + lib/libcxx/include/__compare/three_way_comparable.h | 58 + lib/libcxx/include/__compare/weak_order.h | 100 + lib/libcxx/include/__concepts/arithmetic.h | 48 + lib/libcxx/include/__concepts/assignable.h | 40 + lib/libcxx/include/__concepts/boolean_testable.h | 38 + lib/libcxx/include/__concepts/class_or_enum.h | 36 + lib/libcxx/include/__concepts/common_reference_with.h | 37 + lib/libcxx/include/__concepts/common_with.h | 47 + lib/libcxx/include/__concepts/constructible.h | 56 + lib/libcxx/include/__concepts/convertible_to.h | 37 + lib/libcxx/include/__concepts/copyable.h | 39 + lib/libcxx/include/__concepts/derived_from.h | 34 + lib/libcxx/include/__concepts/destructible.h | 32 + lib/libcxx/include/__concepts/different_from.h | 31 + lib/libcxx/include/__concepts/equality_comparable.h | 53 + lib/libcxx/include/__concepts/invocable.h | 41 + lib/libcxx/include/__concepts/movable.h | 39 + lib/libcxx/include/__concepts/predicate.h | 35 + lib/libcxx/include/__concepts/regular.h | 33 + lib/libcxx/include/__concepts/relation.h | 44 + lib/libcxx/include/__concepts/same_as.h | 35 + lib/libcxx/include/__concepts/semiregular.h | 33 + lib/libcxx/include/__concepts/swappable.h | 116 + lib/libcxx/include/__concepts/totally_ordered.h | 57 + lib/libcxx/include/__config | 384 +- lib/libcxx/include/__coroutine/coroutine_handle.h | 202 + lib/libcxx/include/__coroutine/coroutine_traits.h | 53 + lib/libcxx/include/__coroutine/noop_coroutine_handle.h | 112 + lib/libcxx/include/__coroutine/trivial_awaitables.h | 46 + lib/libcxx/include/__debug | 29 +- lib/libcxx/include/__errc | 2 +- lib/libcxx/include/__filesystem/copy_options.h | 80 + lib/libcxx/include/__filesystem/directory_entry.h | 511 + lib/libcxx/include/__filesystem/directory_iterator.h | 150 + lib/libcxx/include/__filesystem/directory_options.h | 78 + lib/libcxx/include/__filesystem/file_status.h | 68 + lib/libcxx/include/__filesystem/file_time_type.h | 27 + lib/libcxx/include/__filesystem/file_type.h | 39 + lib/libcxx/include/__filesystem/filesystem_error.h | 99 + lib/libcxx/include/__filesystem/operations.h | 197 + lib/libcxx/include/__filesystem/path.h | 1018 + lib/libcxx/include/__filesystem/path_iterator.h | 130 + lib/libcxx/include/__filesystem/perm_options.h | 73 + lib/libcxx/include/__filesystem/perms.h | 91 + lib/libcxx/include/__filesystem/recursive_directory_iterator.h | 181 + lib/libcxx/include/__filesystem/space_info.h | 35 + lib/libcxx/include/__filesystem/u8path.h | 96 + lib/libcxx/include/__format/format_arg.h | 292 + lib/libcxx/include/__format/format_args.h | 71 + lib/libcxx/include/__format/format_context.h | 165 + lib/libcxx/include/__format/format_error.h | 5 - lib/libcxx/include/__format/format_fwd.h | 56 + lib/libcxx/include/__format/format_parse_context.h | 12 +- lib/libcxx/include/__format/format_string.h | 169 + lib/libcxx/include/__format/format_to_n_result.h | 41 + lib/libcxx/include/__format/formatter.h | 290 + lib/libcxx/include/__format/formatter_bool.h | 147 + lib/libcxx/include/__format/formatter_char.h | 104 + lib/libcxx/include/__format/formatter_floating_point.h | 717 + lib/libcxx/include/__format/formatter_integer.h | 170 + lib/libcxx/include/__format/formatter_integral.h | 463 + lib/libcxx/include/__format/formatter_pointer.h | 91 + lib/libcxx/include/__format/formatter_string.h | 162 + lib/libcxx/include/__format/parser_std_format_spec.h | 1398 + lib/libcxx/include/__function_like.h | 56 - lib/libcxx/include/__functional/bind.h | 54 +- lib/libcxx/include/__functional/bind_back.h | 65 + lib/libcxx/include/__functional/bind_front.h | 42 +- lib/libcxx/include/__functional/compose.h | 52 + lib/libcxx/include/__functional/function.h | 61 +- lib/libcxx/include/__functional/hash.h | 19 +- lib/libcxx/include/__functional/mem_fn.h | 2 +- lib/libcxx/include/__functional/mem_fun_ref.h | 2 +- lib/libcxx/include/__functional/not_fn.h | 34 +- lib/libcxx/include/__functional/operations.h | 114 +- lib/libcxx/include/__functional/perfect_forward.h | 111 +- lib/libcxx/include/__functional/ranges_operations.h | 5 +- lib/libcxx/include/__functional/reference_wrapper.h | 19 +- lib/libcxx/include/__functional/unary_function.h | 5 - lib/libcxx/include/__functional/unwrap_ref.h | 9 +- lib/libcxx/include/__functional/weak_result_type.h | 8 +- lib/libcxx/include/__hash_table | 94 +- lib/libcxx/include/__iterator/access.h | 5 - lib/libcxx/include/__iterator/advance.h | 41 +- lib/libcxx/include/__iterator/back_insert_iterator.h | 19 +- lib/libcxx/include/__iterator/common_iterator.h | 90 +- lib/libcxx/include/__iterator/concepts.h | 16 +- lib/libcxx/include/__iterator/counted_iterator.h | 15 +- lib/libcxx/include/__iterator/data.h | 5 - lib/libcxx/include/__iterator/default_sentinel.h | 9 +- lib/libcxx/include/__iterator/distance.h | 61 +- lib/libcxx/include/__iterator/empty.h | 5 - lib/libcxx/include/__iterator/erase_if_container.h | 5 - lib/libcxx/include/__iterator/front_insert_iterator.h | 5 - lib/libcxx/include/__iterator/incrementable_traits.h | 9 +- lib/libcxx/include/__iterator/indirectly_comparable.h | 30 + lib/libcxx/include/__iterator/insert_iterator.h | 20 +- lib/libcxx/include/__iterator/istream_iterator.h | 11 - lib/libcxx/include/__iterator/istreambuf_iterator.h | 5 - lib/libcxx/include/__iterator/iter_move.h | 34 +- lib/libcxx/include/__iterator/iter_swap.h | 25 +- lib/libcxx/include/__iterator/iterator.h | 5 - lib/libcxx/include/__iterator/iterator_traits.h | 23 +- lib/libcxx/include/__iterator/move_iterator.h | 156 +- lib/libcxx/include/__iterator/next.h | 25 +- lib/libcxx/include/__iterator/ostream_iterator.h | 5 - lib/libcxx/include/__iterator/ostreambuf_iterator.h | 5 - lib/libcxx/include/__iterator/prev.h | 23 +- lib/libcxx/include/__iterator/projected.h | 9 +- lib/libcxx/include/__iterator/readable_traits.h | 19 +- lib/libcxx/include/__iterator/reverse_access.h | 5 - lib/libcxx/include/__iterator/reverse_iterator.h | 40 +- lib/libcxx/include/__iterator/size.h | 5 - lib/libcxx/include/__iterator/unreachable_sentinel.h | 38 + lib/libcxx/include/__iterator/wrap_iter.h | 167 +- lib/libcxx/include/__libcpp_version | 2 +- lib/libcxx/include/__locale | 79 +- lib/libcxx/include/__mbstate_t.h | 44 + lib/libcxx/include/__memory/addressof.h | 20 - lib/libcxx/include/__memory/allocation_guard.h | 6 - lib/libcxx/include/__memory/allocator.h | 17 +- lib/libcxx/include/__memory/allocator_arg_t.h | 10 +- lib/libcxx/include/__memory/allocator_traits.h | 66 +- lib/libcxx/include/__memory/auto_ptr.h | 5 - lib/libcxx/include/__memory/compressed_pair.h | 44 +- lib/libcxx/include/__memory/concepts.h | 68 + lib/libcxx/include/__memory/construct_at.h | 73 +- lib/libcxx/include/__memory/pointer_safety.h | 57 - lib/libcxx/include/__memory/pointer_traits.h | 37 +- lib/libcxx/include/__memory/ranges_construct_at.h | 124 + lib/libcxx/include/__memory/ranges_uninitialized_algorithms.h | 318 + lib/libcxx/include/__memory/raw_storage_iterator.h | 5 - lib/libcxx/include/__memory/shared_ptr.h | 1052 +- lib/libcxx/include/__memory/temporary_buffer.h | 5 - lib/libcxx/include/__memory/uninitialized_algorithms.h | 343 +- lib/libcxx/include/__memory/unique_ptr.h | 57 +- lib/libcxx/include/__memory/uses_allocator.h | 2 +- lib/libcxx/include/__memory/voidify.h | 30 + lib/libcxx/include/__mutex_base | 17 +- lib/libcxx/include/__node_handle | 52 +- lib/libcxx/include/__nullptr | 4 +- lib/libcxx/include/__numeric/accumulate.h | 52 + lib/libcxx/include/__numeric/adjacent_difference.h | 72 + lib/libcxx/include/__numeric/exclusive_scan.h | 53 + lib/libcxx/include/__numeric/gcd_lcm.h | 96 + lib/libcxx/include/__numeric/inclusive_scan.h | 60 + lib/libcxx/include/__numeric/inner_product.h | 53 + lib/libcxx/include/__numeric/iota.h | 32 + lib/libcxx/include/__numeric/midpoint.h | 85 + lib/libcxx/include/__numeric/partial_sum.h | 70 + lib/libcxx/include/__numeric/reduce.h | 47 + lib/libcxx/include/__numeric/transform_exclusive_scan.h | 49 + lib/libcxx/include/__numeric/transform_inclusive_scan.h | 58 + lib/libcxx/include/__numeric/transform_reduce.h | 54 + lib/libcxx/include/__random/bernoulli_distribution.h | 143 + lib/libcxx/include/__random/binomial_distribution.h | 225 + lib/libcxx/include/__random/cauchy_distribution.h | 162 + lib/libcxx/include/__random/chi_squared_distribution.h | 144 + lib/libcxx/include/__random/clamp_to_integral.h | 60 + lib/libcxx/include/__random/default_random_engine.h | 25 + lib/libcxx/include/__random/discard_block_engine.h | 203 + lib/libcxx/include/__random/discrete_distribution.h | 260 + lib/libcxx/include/__random/exponential_distribution.h | 155 + lib/libcxx/include/__random/extreme_value_distribution.h | 161 + lib/libcxx/include/__random/fisher_f_distribution.h | 160 + lib/libcxx/include/__random/gamma_distribution.h | 213 + lib/libcxx/include/__random/generate_canonical.h | 53 + lib/libcxx/include/__random/geometric_distribution.h | 141 + lib/libcxx/include/__random/independent_bits_engine.h | 271 + lib/libcxx/include/__random/is_seed_sequence.h | 31 + lib/libcxx/include/__random/knuth_b.h | 26 + lib/libcxx/include/__random/linear_congruential_engine.h | 398 + lib/libcxx/include/__random/log2.h | 74 + lib/libcxx/include/__random/lognormal_distribution.h | 299 + lib/libcxx/include/__random/mersenne_twister_engine.h | 534 + lib/libcxx/include/__random/negative_binomial_distribution.h | 176 + lib/libcxx/include/__random/normal_distribution.h | 208 + lib/libcxx/include/__random/piecewise_constant_distribution.h | 356 + lib/libcxx/include/__random/piecewise_linear_distribution.h | 372 + lib/libcxx/include/__random/poisson_distribution.h | 277 + lib/libcxx/include/__random/random_device.h | 88 + lib/libcxx/include/__random/ranlux.h | 31 + lib/libcxx/include/__random/seed_seq.h | 153 + lib/libcxx/include/__random/shuffle_order_engine.h | 283 + lib/libcxx/include/__random/student_t_distribution.h | 153 + lib/libcxx/include/__random/subtract_with_carry_engine.h | 352 + lib/libcxx/include/__random/uniform_int_distribution.h | 38 +- lib/libcxx/include/__random/uniform_random_bit_generator.h | 45 + lib/libcxx/include/__random/uniform_real_distribution.h | 160 + lib/libcxx/include/__random/weibull_distribution.h | 155 + lib/libcxx/include/__ranges/access.h | 195 +- lib/libcxx/include/__ranges/all.h | 38 +- lib/libcxx/include/__ranges/common_view.h | 36 +- lib/libcxx/include/__ranges/concepts.h | 52 +- lib/libcxx/include/__ranges/copyable_box.h | 17 +- lib/libcxx/include/__ranges/counted.h | 81 + lib/libcxx/include/__ranges/dangling.h | 9 +- lib/libcxx/include/__ranges/data.h | 70 +- lib/libcxx/include/__ranges/drop_view.h | 12 +- lib/libcxx/include/__ranges/empty.h | 34 +- lib/libcxx/include/__ranges/empty_view.h | 13 +- lib/libcxx/include/__ranges/enable_borrowed_range.h | 14 +- lib/libcxx/include/__ranges/enable_view.h | 23 +- lib/libcxx/include/__ranges/iota_view.h | 408 + lib/libcxx/include/__ranges/join_view.h | 350 + lib/libcxx/include/__ranges/non_propagating_cache.h | 43 +- lib/libcxx/include/__ranges/owning_view.h | 81 + lib/libcxx/include/__ranges/range_adaptor.h | 73 + lib/libcxx/include/__ranges/ref_view.h | 13 +- lib/libcxx/include/__ranges/reverse_view.h | 190 + lib/libcxx/include/__ranges/single_view.h | 81 + lib/libcxx/include/__ranges/size.h | 55 +- lib/libcxx/include/__ranges/subrange.h | 176 +- lib/libcxx/include/__ranges/take_view.h | 185 + lib/libcxx/include/__ranges/transform_view.h | 82 +- lib/libcxx/include/__ranges/view_interface.h | 17 +- lib/libcxx/include/__ranges/views.h | 35 + lib/libcxx/include/__split_buffer | 13 +- lib/libcxx/include/__string | 113 +- lib/libcxx/include/__support/ibm/locale_mgmt_aix.h | 84 - lib/libcxx/include/__support/ibm/nanosleep.h | 7 +- lib/libcxx/include/__support/ibm/xlocale.h | 203 +- lib/libcxx/include/__support/nuttx/xlocale.h | 18 - lib/libcxx/include/__support/openbsd/xlocale.h | 20 + lib/libcxx/include/__support/win32/limits_msvc_win32.h | 2 +- lib/libcxx/include/__thread/poll_with_backoff.h | 69 + lib/libcxx/include/__thread/timed_backoff_policy.h | 45 + lib/libcxx/include/__threading_support | 151 +- lib/libcxx/include/__tree | 14 +- lib/libcxx/include/__tuple | 44 +- lib/libcxx/include/__undef_macros | 2 +- lib/libcxx/include/__utility/__decay_copy.h | 39 - lib/libcxx/include/__utility/as_const.h | 5 - lib/libcxx/include/__utility/auto_cast.h | 22 + lib/libcxx/include/__utility/cmp.h | 13 +- lib/libcxx/include/__utility/declval.h | 5 - lib/libcxx/include/__utility/exchange.h | 9 +- lib/libcxx/include/__utility/forward.h | 5 - lib/libcxx/include/__utility/in_place.h | 11 +- lib/libcxx/include/__utility/integer_sequence.h | 13 +- lib/libcxx/include/__utility/move.h | 7 +- lib/libcxx/include/__utility/pair.h | 110 +- lib/libcxx/include/__utility/piecewise_construct.h | 7 +- lib/libcxx/include/__utility/priority_tag.h | 26 + lib/libcxx/include/__utility/rel_ops.h | 7 +- lib/libcxx/include/__utility/swap.h | 7 +- lib/libcxx/include/__utility/to_underlying.h | 7 +- lib/libcxx/include/__utility/transaction.h | 91 + lib/libcxx/include/__variant/monostate.h | 5 - lib/libcxx/include/algorithm | 34 +- lib/libcxx/include/any | 2 +- lib/libcxx/include/array | 6 +- lib/libcxx/include/atomic | 536 +- lib/libcxx/include/barrier | 3 +- lib/libcxx/include/bit | 39 +- lib/libcxx/include/bitset | 7 +- lib/libcxx/include/cassert | 2 +- lib/libcxx/include/ccomplex | 2 +- lib/libcxx/include/cctype | 2 +- lib/libcxx/include/cerrno | 2 +- lib/libcxx/include/cfenv | 2 +- lib/libcxx/include/cfloat | 2 +- lib/libcxx/include/charconv | 136 +- lib/libcxx/include/chrono | 2301 +- lib/libcxx/include/cinttypes | 2 +- lib/libcxx/include/ciso646 | 2 +- lib/libcxx/include/climits | 2 +- lib/libcxx/include/clocale | 4 +- lib/libcxx/include/cmath | 53 +- lib/libcxx/include/codecvt | 9 +- lib/libcxx/include/compare | 407 +- lib/libcxx/include/complex | 15 +- lib/libcxx/include/complex.h | 2 +- lib/libcxx/include/concepts | 340 +- lib/libcxx/include/condition_variable | 3 +- lib/libcxx/include/coroutine | 52 + lib/libcxx/include/csetjmp | 2 +- lib/libcxx/include/csignal | 2 +- lib/libcxx/include/cstdarg | 2 +- lib/libcxx/include/cstdbool | 2 +- lib/libcxx/include/cstddef | 9 +- lib/libcxx/include/cstdint | 2 +- lib/libcxx/include/cstdio | 8 +- lib/libcxx/include/cstdlib | 14 +- lib/libcxx/include/cstring | 4 +- lib/libcxx/include/ctgmath | 2 +- lib/libcxx/include/ctime | 4 +- lib/libcxx/include/ctype.h | 2 +- lib/libcxx/include/cwchar | 10 +- lib/libcxx/include/cwctype | 2 +- lib/libcxx/include/deque | 106 +- lib/libcxx/include/errno.h | 2 +- lib/libcxx/include/exception | 4 +- lib/libcxx/include/execution | 7 +- lib/libcxx/include/experimental/__config | 6 +- lib/libcxx/include/experimental/__memory | 6 +- lib/libcxx/include/experimental/algorithm | 13 +- lib/libcxx/include/experimental/coroutine | 16 +- lib/libcxx/include/experimental/deque | 4 +- lib/libcxx/include/experimental/filesystem | 2 +- lib/libcxx/include/experimental/forward_list | 4 +- lib/libcxx/include/experimental/functional | 12 +- lib/libcxx/include/experimental/iterator | 17 +- lib/libcxx/include/experimental/list | 4 +- lib/libcxx/include/experimental/map | 4 +- lib/libcxx/include/experimental/memory_resource | 24 +- lib/libcxx/include/experimental/propagate_const | 11 +- lib/libcxx/include/experimental/regex | 10 +- lib/libcxx/include/experimental/set | 4 +- lib/libcxx/include/experimental/simd | 34 +- lib/libcxx/include/experimental/string | 6 +- lib/libcxx/include/experimental/type_traits | 2 +- lib/libcxx/include/experimental/unordered_map | 4 +- lib/libcxx/include/experimental/unordered_set | 4 +- lib/libcxx/include/experimental/utility | 2 +- lib/libcxx/include/experimental/vector | 4 +- lib/libcxx/include/ext/__hash | 6 +- lib/libcxx/include/ext/hash_map | 6 +- lib/libcxx/include/ext/hash_set | 10 +- lib/libcxx/include/fenv.h | 2 +- lib/libcxx/include/filesystem | 2805 +- lib/libcxx/include/float.h | 2 +- lib/libcxx/include/format | 552 +- lib/libcxx/include/forward_list | 43 +- lib/libcxx/include/fstream | 29 +- lib/libcxx/include/functional | 8 +- lib/libcxx/include/future | 13 +- lib/libcxx/include/initializer_list | 4 +- lib/libcxx/include/inttypes.h | 2 +- lib/libcxx/include/iomanip | 2 +- lib/libcxx/include/ios | 9 +- lib/libcxx/include/iosfwd | 43 +- lib/libcxx/include/iostream | 16 +- lib/libcxx/include/istream | 10 +- lib/libcxx/include/iterator | 21 +- lib/libcxx/include/latch | 3 +- lib/libcxx/include/limits | 2 +- lib/libcxx/include/limits.h | 2 +- lib/libcxx/include/list | 320 +- lib/libcxx/include/locale | 296 +- lib/libcxx/include/locale.h | 4 +- lib/libcxx/include/map | 110 +- lib/libcxx/include/math.h | 30 +- lib/libcxx/include/memory | 179 +- lib/libcxx/include/module.modulemap | 337 +- lib/libcxx/include/mutex | 35 +- lib/libcxx/include/new | 25 +- lib/libcxx/include/numbers | 71 +- lib/libcxx/include/numeric | 491 +- lib/libcxx/include/optional | 277 +- lib/libcxx/include/ostream | 18 +- lib/libcxx/include/queue | 273 +- lib/libcxx/include/random | 5368 +- lib/libcxx/include/ranges | 72 +- lib/libcxx/include/ratio | 23 +- lib/libcxx/include/regex | 100 +- lib/libcxx/include/scoped_allocator | 12 +- lib/libcxx/include/semaphore | 94 +- lib/libcxx/include/set | 79 +- lib/libcxx/include/setjmp.h | 2 +- lib/libcxx/include/shared_mutex | 2 +- lib/libcxx/include/span | 239 +- lib/libcxx/include/sstream | 3 +- lib/libcxx/include/stack | 64 +- lib/libcxx/include/stdbool.h | 2 +- lib/libcxx/include/stddef.h | 2 +- lib/libcxx/include/stdexcept | 6 +- lib/libcxx/include/stdint.h | 2 +- lib/libcxx/include/stdio.h | 2 +- lib/libcxx/include/stdlib.h | 32 +- lib/libcxx/include/streambuf | 4 +- lib/libcxx/include/string | 614 +- lib/libcxx/include/string.h | 2 +- lib/libcxx/include/string_view | 128 +- lib/libcxx/include/strstream | 3 +- lib/libcxx/include/system_error | 19 +- lib/libcxx/include/tgmath.h | 2 +- lib/libcxx/include/thread | 12 +- lib/libcxx/include/tuple | 179 +- lib/libcxx/include/type_traits | 962 +- lib/libcxx/include/typeindex | 3 +- lib/libcxx/include/typeinfo | 4 +- lib/libcxx/include/unordered_map | 535 +- lib/libcxx/include/unordered_set | 414 +- lib/libcxx/include/utility | 30 +- lib/libcxx/include/valarray | 12 +- lib/libcxx/include/variant | 32 +- lib/libcxx/include/vector | 556 +- lib/libcxx/include/version | 89 +- lib/libcxx/include/wchar.h | 12 +- lib/libcxx/include/wctype.h | 6 +- lib/libcxx/src/algorithm.cpp | 6 +- lib/libcxx/src/any.cpp | 2 +- lib/libcxx/src/atomic.cpp | 5 +- lib/libcxx/src/barrier.cpp | 8 +- lib/libcxx/src/bind.cpp | 2 +- lib/libcxx/src/charconv.cpp | 72 +- lib/libcxx/src/chrono.cpp | 56 +- lib/libcxx/src/chrono_system_time_init.h | 2 + lib/libcxx/src/condition_variable.cpp | 2 +- lib/libcxx/src/condition_variable_destructor.cpp | 2 +- lib/libcxx/src/debug.cpp | 2 +- lib/libcxx/src/exception.cpp | 2 +- lib/libcxx/src/experimental/memory_resource.cpp | 9 +- lib/libcxx/src/experimental/memory_resource_init_helper.h | 2 + lib/libcxx/src/filesystem/directory_iterator.cpp | 94 +- lib/libcxx/src/filesystem/filesystem_common.h | 97 +- lib/libcxx/src/filesystem/operations.cpp | 111 +- lib/libcxx/src/format.cpp | 6 +- lib/libcxx/src/functional.cpp | 4 +- lib/libcxx/src/future.cpp | 2 +- lib/libcxx/src/hash.cpp | 2 +- lib/libcxx/src/include/apple_availability.h | 2 +- lib/libcxx/src/include/atomic_support.h | 4 +- lib/libcxx/src/include/config_elast.h | 2 +- lib/libcxx/src/include/refstring.h | 2 +- lib/libcxx/src/include/ryu/common.h | 107 + lib/libcxx/src/include/ryu/d2fixed.h | 60 + lib/libcxx/src/include/ryu/d2fixed_full_table.h | 4451 + lib/libcxx/src/include/ryu/d2s.h | 62 + lib/libcxx/src/include/ryu/d2s_full_table.h | 368 + lib/libcxx/src/include/ryu/d2s_intrinsics.h | 257 + lib/libcxx/src/include/ryu/digit_table.h | 68 + lib/libcxx/src/include/ryu/f2s.h | 55 + lib/libcxx/src/include/ryu/ryu.h | 148 + lib/libcxx/src/include/to_chars_floating_point.h | 1076 + lib/libcxx/src/ios.cpp | 4 +- lib/libcxx/src/ios.instantiations.cpp | 11 +- lib/libcxx/src/iostream.cpp | 53 +- lib/libcxx/src/iostream_init.h | 2 + lib/libcxx/src/legacy_pointer_safety.cpp | 23 + lib/libcxx/src/locale.cpp | 472 +- lib/libcxx/src/memory.cpp | 37 +- lib/libcxx/src/mutex.cpp | 2 +- lib/libcxx/src/mutex_destructor.cpp | 2 +- lib/libcxx/src/new.cpp | 2 +- lib/libcxx/src/optional.cpp | 2 +- lib/libcxx/src/random.cpp | 53 +- lib/libcxx/src/random_shuffle.cpp | 2 +- lib/libcxx/src/regex.cpp | 122 +- lib/libcxx/src/ryu/d2fixed.cpp | 669 + lib/libcxx/src/ryu/d2s.cpp | 782 + lib/libcxx/src/ryu/f2s.cpp | 715 + lib/libcxx/src/shared_mutex.cpp | 2 +- lib/libcxx/src/stdexcept.cpp | 2 +- lib/libcxx/src/string.cpp | 67 +- lib/libcxx/src/strstream.cpp | 2 +- lib/libcxx/src/support/ibm/mbsnrtowcs.cpp | 95 + lib/libcxx/src/support/ibm/wcsnrtombs.cpp | 93 + lib/libcxx/src/support/runtime/stdexcept_default.ipp | 2 +- lib/libcxx/src/support/runtime/stdexcept_vcruntime.ipp | 2 +- lib/libcxx/src/support/win32/locale_win32.cpp | 4 +- lib/libcxx/src/support/win32/support.cpp | 11 +- lib/libcxx/src/support/win32/thread_win32.cpp | 37 - lib/libcxx/src/system_error.cpp | 2 +- lib/libcxx/src/typeinfo.cpp | 2 +- lib/libcxx/src/utility.cpp | 2 +- lib/libcxx/src/valarray.cpp | 2 +- lib/libcxx/src/variant.cpp | 2 +- lib/libcxx/src/vector.cpp | 23 +- lib/libcxxabi/include/__cxxabi_config.h | 4 +- lib/libcxxabi/include/cxxabi.h | 2 +- lib/libcxxabi/src/abort_message.cpp | 2 +- lib/libcxxabi/src/abort_message.h | 2 +- lib/libcxxabi/src/cxa_aux_runtime.cpp | 2 +- lib/libcxxabi/src/cxa_default_handlers.cpp | 16 +- lib/libcxxabi/src/cxa_demangle.cpp | 14 +- lib/libcxxabi/src/cxa_exception.cpp | 30 +- lib/libcxxabi/src/cxa_exception.h | 2 +- lib/libcxxabi/src/cxa_exception_storage.cpp | 70 +- lib/libcxxabi/src/cxa_guard.cpp | 2 +- lib/libcxxabi/src/cxa_guard_impl.h | 442 +- lib/libcxxabi/src/cxa_handlers.cpp | 16 +- lib/libcxxabi/src/cxa_handlers.h | 2 +- lib/libcxxabi/src/cxa_noexception.cpp | 2 +- lib/libcxxabi/src/cxa_personality.cpp | 20 +- lib/libcxxabi/src/cxa_thread_atexit.cpp | 2 +- lib/libcxxabi/src/cxa_vector.cpp | 2 +- lib/libcxxabi/src/cxa_virtual.cpp | 2 +- lib/libcxxabi/src/demangle/ItaniumDemangle.h | 1438 +- lib/libcxxabi/src/demangle/StringView.h | 17 +- lib/libcxxabi/src/demangle/Utility.h | 65 +- lib/libcxxabi/src/fallback_malloc.cpp | 2 +- lib/libcxxabi/src/fallback_malloc.h | 2 +- lib/libcxxabi/src/include/atomic_support.h | 180 - lib/libcxxabi/src/private_typeinfo.cpp | 2 +- lib/libcxxabi/src/private_typeinfo.h | 2 +- lib/libcxxabi/src/stdlib_exception.cpp | 2 +- lib/libcxxabi/src/stdlib_new_delete.cpp | 2 +- lib/libcxxabi/src/stdlib_stdexcept.cpp | 6 +- lib/libcxxabi/src/stdlib_typeinfo.cpp | 2 +- lib/libunwind/include/__libunwind_config.h | 15 +- lib/libunwind/include/libunwind.h | 218 +- lib/libunwind/include/mach-o/compact_unwind_encoding.h | 2 +- lib/libunwind/include/unwind.h | 198 +- lib/libunwind/include/unwind_arm_ehabi.h | 170 + lib/libunwind/include/unwind_itanium.h | 76 + lib/libunwind/src/AddressSpace.hpp | 26 +- lib/libunwind/src/CompactUnwinder.hpp | 76 +- lib/libunwind/src/DwarfInstructions.hpp | 36 +- lib/libunwind/src/DwarfParser.hpp | 40 +- lib/libunwind/src/EHHeaderParser.hpp | 2 +- lib/libunwind/src/RWMutex.hpp | 2 +- lib/libunwind/src/Registers.hpp | 207 +- lib/libunwind/src/Unwind-EHABI.cpp | 222 +- lib/libunwind/src/Unwind-EHABI.h | 2 +- lib/libunwind/src/Unwind-seh.cpp | 10 +- lib/libunwind/src/Unwind-sjlj.c | 2 +- lib/libunwind/src/UnwindCursor.hpp | 104 +- lib/libunwind/src/UnwindLevel1-gcc-ext.c | 33 +- lib/libunwind/src/UnwindLevel1.c | 58 +- lib/libunwind/src/UnwindRegistersRestore.S | 24 +- lib/libunwind/src/UnwindRegistersSave.S | 11 +- lib/libunwind/src/Unwind_AppleExtras.cpp | 2 +- lib/libunwind/src/assembly.h | 22 +- lib/libunwind/src/cet_unwind.h | 41 + lib/libunwind/src/config.h | 4 +- lib/libunwind/src/dwarf2.h | 2 +- lib/libunwind/src/libunwind.cpp | 39 +- lib/libunwind/src/libunwind_ext.h | 5 +- lib/std/fmt.zig | 14 + lib/std/fmt/parse_float.zig | 24 +- lib/std/leb128.zig | 15 + lib/std/math.zig | 4 + lib/std/mem.zig | 12 +- lib/std/simd.zig | 12 + lib/std/target.zig | 7 +- lib/std/target/aarch64.zig | 704 +- lib/std/target/amdgpu.zig | 13 - lib/std/target/arm.zig | 175 +- lib/std/target/avr.zig | 280 + lib/std/target/csky.zig | 163 + lib/std/target/hexagon.zig | 64 + lib/std/target/nvptx.zig | 18 + lib/std/target/powerpc.zig | 94 + lib/std/target/riscv.zig | 470 +- lib/std/target/wasm.zig | 6 + lib/std/target/x86.zig | 157 +- lib/std/zig/fmt.zig | 1 + lib/std/zig/system/x86.zig | 6 +- src/Compilation.zig | 9 + src/clang.zig | 8 +- src/clang_options_data.zig | 202 +- src/codegen/llvm.zig | 67 +- src/codegen/llvm/bindings.zig | 16 +- src/config.zig.in | 1 - src/libcxx.zig | 14 + src/link.zig | 1 + src/main.zig | 30 +- src/stage1/analyze.cpp | 13 +- src/stage1/codegen.cpp | 61 +- src/stage1/target.cpp | 10 + src/translate_c.zig | 2 +- src/type.zig | 4 +- src/windows_com.hpp | 1813 +- src/zig_clang.cpp | 16 +- src/zig_clang.h | 8 +- src/zig_clang_cc1_main.cpp | 8 +- src/zig_clang_cc1as_main.cpp | 7 +- src/zig_clang_driver.cpp | 42 +- src/zig_llvm-ar.cpp | 47 +- src/zig_llvm.cpp | 95 +- src/zig_llvm.h | 12 +- test/behavior.zig | 9 + test/behavior/basic.zig | 4 + test/behavior/bugs/9584.zig | 3 +- test/behavior/math.zig | 39 +- test/behavior/vector.zig | 22 +- test/standalone/install_raw_hex/build.zig | 18 +- test/translate_c.zig | 36 +- tools/update_clang_options.zig | 8 + tools/update_cpu_features.zig | 113 +- 785 files changed, 163037 insertions(+), 159648 deletions(-)