.builds/netbsd.yml | 8 - build.zig | 28 + ci/azure/linux_script | 2 +- ci/azure/macos_arm64_script | 6 +- ci/azure/macos_script | 2 +- ci/azure/windows_msvc_install | 9 +- ci/azure/windows_msvc_script.bat | 2 +- ci/drone/drone.yml | 10 +- ci/srht/freebsd_script | 2 +- ci/srht/index.json | 5 - ci/srht/update_download_page | 12 +- cmake/Findclang.cmake | 46 +- cmake/Findlld.cmake | 32 +- cmake/Findllvm.cmake | 91 +- lib/include/__clang_cuda_device_functions.h | 276 +- lib/include/__clang_cuda_math.h | 4 +- lib/include/__clang_cuda_runtime_wrapper.h | 7 +- lib/include/__clang_hip_cmath.h | 366 +- lib/include/__clang_hip_libdevice_declares.h | 36 +- lib/include/__clang_hip_math.h | 50 +- lib/include/__clang_hip_runtime_wrapper.h | 87 +- lib/include/altivec.h | 1588 +- lib/include/amxintrin.h | 253 +- lib/include/arm_acle.h | 55 + lib/include/arm_neon.h | 1242 +- lib/include/arm_sve.h | 17687 +++-- lib/include/avx512fintrin.h | 214 +- lib/include/builtins.h | 16 + lib/include/cuda_wrappers/complex | 8 + lib/include/hexagon_circ_brev_intrinsics.h | 298 + lib/include/hexagon_protos.h | 8450 +++ lib/include/hexagon_types.h | 2653 + lib/include/hvx_hexagon_protos.h | 4392 ++ lib/include/immintrin.h | 10 +- lib/include/intrin.h | 52 +- lib/include/keylockerintrin.h | 30 + lib/include/opencl-c-base.h | 147 +- lib/include/opencl-c.h | 860 +- lib/include/openmp_wrappers/__clang_openmp_device_functions.h | 72 +- lib/include/openmp_wrappers/cmath | 54 + lib/include/openmp_wrappers/complex | 6 - lib/include/openmp_wrappers/complex.h | 1 - lib/include/openmp_wrappers/math.h | 10 + lib/include/openmp_wrappers/new | 26 +- lib/include/ppc_wrappers/xmmintrin.h | 9 +- lib/include/riscv_vector.h | 123865 ++++++++++++++++++++++++++++++++ lib/include/uintrintrin.h | 7 + lib/include/vaesintrin.h | 41 +- lib/include/vecintrin.h | 283 +- lib/include/vpclmulqdqintrin.h | 2 + lib/include/wasm_simd128.h | 1045 +- lib/libc/include/aarch64-linux-gnu/bits/floatn.h | 97 + lib/libc/include/aarch64-linux-musl/bits/posix.h | 2 + lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h | 97 + lib/libc/include/arm-linux-gnueabi/bits/floatn.h | 52 - lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h | 61 - lib/libc/include/arm-linux-gnueabi/bits/wordsize.h | 21 - lib/libc/include/arm-linux-gnueabihf/bits/floatn.h | 52 - lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h | 61 - lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h | 21 - lib/libc/include/arm-linux-musl/bits/posix.h | 2 - lib/libc/include/armeb-linux-gnueabi/bits/floatn.h | 52 - lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h | 61 - lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h | 21 - lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h | 52 - lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h | 61 - lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h | 21 - lib/libc/include/csky-linux-gnueabi/bits/floatn.h | 52 - lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h | 61 - lib/libc/include/csky-linux-gnueabi/bits/wordsize.h | 21 - lib/libc/include/csky-linux-gnueabihf/bits/floatn.h | 52 - lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h | 61 - lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h | 21 - lib/libc/include/generic-glibc/bits/floatn.h | 71 +- lib/libc/include/generic-glibc/bits/struct_rwlock.h | 44 +- lib/libc/include/generic-glibc/bits/wordsize.h | 20 +- lib/libc/include/generic-musl/bits/posix.h | 4 +- lib/libc/include/i386-linux-musl/bits/fcntl.h | 40 - lib/libc/include/i386-linux-musl/bits/posix.h | 2 - lib/libc/include/m68k-linux-gnu/bits/a.out.h | 3 + lib/libc/include/m68k-linux-gnu/bits/endianness.h | 11 + lib/libc/include/m68k-linux-gnu/bits/fcntl.h | 54 + lib/libc/include/m68k-linux-gnu/bits/fenv.h | 131 + lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h | 25 + lib/libc/include/m68k-linux-gnu/bits/fp-logb.h | 24 + lib/libc/include/m68k-linux-gnu/bits/iscanonical.h | 54 + lib/libc/include/m68k-linux-gnu/bits/link.h | 57 + lib/libc/include/m68k-linux-gnu/bits/long-double.h | 21 + lib/libc/include/m68k-linux-gnu/bits/poll.h | 49 + lib/libc/include/m68k-linux-gnu/bits/procfs-id.h | 25 + lib/libc/include/m68k-linux-gnu/bits/procfs.h | 34 + lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h | 37 + lib/libc/include/m68k-linux-gnu/bits/semaphore.h | 35 + lib/libc/include/m68k-linux-gnu/bits/setjmp.h | 46 + lib/libc/include/m68k-linux-gnu/bits/sockaddr.h | 42 + lib/libc/include/m68k-linux-gnu/bits/struct_stat.h | 127 + lib/libc/include/m68k-linux-gnu/fpu_control.h | 118 + lib/libc/include/m68k-linux-gnu/gnu/lib-names.h | 31 + lib/libc/include/m68k-linux-gnu/gnu/stubs.h | 16 + lib/libc/include/m68k-linux-gnu/sys/reg.h | 101 + lib/libc/include/m68k-linux-gnu/sys/ucontext.h | 130 + lib/libc/include/m68k-linux-gnu/sys/user.h | 65 + lib/libc/include/m68k-linux-musl/bits/alltypes.h | 424 + lib/libc/include/m68k-linux-musl/bits/fcntl.h | 40 + lib/libc/include/m68k-linux-musl/bits/fenv.h | 29 + lib/libc/include/m68k-linux-musl/bits/float.h | 39 + lib/libc/include/m68k-linux-musl/bits/ipcstat.h | 1 + lib/libc/include/m68k-linux-musl/bits/msg.h | 18 + lib/libc/include/m68k-linux-musl/bits/ptrace.h | 2 + lib/libc/include/m68k-linux-musl/bits/reg.h | 45 + lib/libc/include/m68k-linux-musl/bits/sem.h | 13 + lib/libc/include/m68k-linux-musl/bits/setjmp.h | 1 + lib/libc/include/m68k-linux-musl/bits/shm.h | 31 + lib/libc/include/m68k-linux-musl/bits/signal.h | 140 + lib/libc/include/m68k-linux-musl/bits/stat.h | 25 + lib/libc/include/m68k-linux-musl/bits/stdint.h | 20 + lib/libc/include/m68k-linux-musl/bits/syscall.h | 824 + lib/libc/include/m68k-linux-musl/bits/user.h | 38 + lib/libc/include/mips-linux-gnu/bits/struct_rwlock.h | 71 + lib/libc/include/mips-linux-gnu/bits/wordsize.h | 31 + lib/libc/include/mips-linux-musl/bits/posix.h | 2 - lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h | 71 + lib/libc/include/mips64-linux-gnuabi64/bits/wordsize.h | 31 + lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h | 71 + lib/libc/include/mips64-linux-gnuabin32/bits/wordsize.h | 31 + lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h | 71 + lib/libc/include/mips64el-linux-gnuabi64/bits/wordsize.h | 31 + lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h | 71 + lib/libc/include/mips64el-linux-gnuabin32/bits/wordsize.h | 31 + lib/libc/include/mipsel-linux-gnu/bits/struct_rwlock.h | 71 + lib/libc/include/mipsel-linux-gnu/bits/wordsize.h | 31 + lib/libc/include/powerpc-linux-musl/bits/posix.h | 2 - lib/libc/include/powerpc64-linux-musl/bits/posix.h | 2 + lib/libc/include/riscv64-linux-gnu/bits/floatn.h | 97 + lib/libc/include/riscv64-linux-musl/bits/fcntl.h | 38 - lib/libc/include/s390x-linux-gnu/bits/floatn.h | 97 + lib/libc/include/s390x-linux-musl/bits/posix.h | 2 + lib/libc/include/sparc-linux-gnu/bits/floatn.h | 97 + lib/libc/include/sparcv9-linux-gnu/bits/floatn.h | 97 + lib/libc/include/x86_64-linux-musl/bits/fcntl.h | 40 - lib/libc/include/x86_64-linux-musl/bits/posix.h | 2 + lib/libcxx/include/__algorithm/adjacent_find.h | 51 + lib/libcxx/include/__algorithm/all_of.h | 37 + lib/libcxx/include/__algorithm/any_of.h | 37 + lib/libcxx/include/__algorithm/binary_search.h | 61 + lib/libcxx/include/__algorithm/clamp.h | 52 + lib/libcxx/include/__algorithm/comp.h | 97 + lib/libcxx/include/__algorithm/comp_ref_type.h | 87 + lib/libcxx/include/__algorithm/copy.h | 82 + lib/libcxx/include/__algorithm/copy_backward.h | 84 + lib/libcxx/include/__algorithm/copy_if.h | 48 + lib/libcxx/include/__algorithm/copy_n.h | 72 + lib/libcxx/include/__algorithm/count.h | 40 + lib/libcxx/include/__algorithm/count_if.h | 40 + lib/libcxx/include/__algorithm/equal.h | 90 + lib/libcxx/include/__algorithm/equal_range.h | 87 + lib/libcxx/include/__algorithm/fill.h | 55 + lib/libcxx/include/__algorithm/fill_n.h | 47 + lib/libcxx/include/__algorithm/find.h | 37 + lib/libcxx/include/__algorithm/find_end.h | 154 + lib/libcxx/include/__algorithm/find_first_of.h | 57 + lib/libcxx/include/__algorithm/find_if.h | 37 + lib/libcxx/include/__algorithm/find_if_not.h | 37 + lib/libcxx/include/__algorithm/for_each.h | 37 + lib/libcxx/include/__algorithm/for_each_n.h | 47 + lib/libcxx/include/__algorithm/generate.h | 36 + lib/libcxx/include/__algorithm/generate_n.h | 40 + lib/libcxx/include/__algorithm/half_positive.h | 54 + lib/libcxx/include/__algorithm/includes.h | 67 + lib/libcxx/include/__algorithm/inplace_merge.h | 231 + lib/libcxx/include/__algorithm/is_heap.h | 48 + lib/libcxx/include/__algorithm/is_heap_until.h | 65 + lib/libcxx/include/__algorithm/is_partitioned.h | 43 + lib/libcxx/include/__algorithm/is_permutation.h | 168 + lib/libcxx/include/__algorithm/is_sorted.h | 48 + lib/libcxx/include/__algorithm/is_sorted_until.h | 55 + lib/libcxx/include/__algorithm/iter_swap.h | 37 + lib/libcxx/include/__algorithm/lexicographical_compare.h | 68 + lib/libcxx/include/__algorithm/lower_bound.h | 72 + lib/libcxx/include/__algorithm/make_heap.h | 64 + lib/libcxx/include/__algorithm/max.h | 70 + lib/libcxx/include/__algorithm/max_element.h | 58 + lib/libcxx/include/__algorithm/merge.h | 76 + lib/libcxx/include/__algorithm/min.h | 70 + lib/libcxx/include/__algorithm/min_element.h | 57 + lib/libcxx/include/__algorithm/minmax.h | 101 + lib/libcxx/include/__algorithm/minmax_element.h | 90 + lib/libcxx/include/__algorithm/mismatch.h | 72 + lib/libcxx/include/__algorithm/move.h | 83 + lib/libcxx/include/__algorithm/move_backward.h | 84 + lib/libcxx/include/__algorithm/next_permutation.h | 77 + lib/libcxx/include/__algorithm/none_of.h | 37 + lib/libcxx/include/__algorithm/nth_element.h | 244 + lib/libcxx/include/__algorithm/partial_sort.h | 71 + lib/libcxx/include/__algorithm/partial_sort_copy.h | 77 + lib/libcxx/include/__algorithm/partition.h | 88 + lib/libcxx/include/__algorithm/partition_copy.h | 52 + lib/libcxx/include/__algorithm/partition_point.h | 51 + lib/libcxx/include/__algorithm/pop_heap.h | 62 + lib/libcxx/include/__algorithm/prev_permutation.h | 77 + lib/libcxx/include/__algorithm/push_heap.h | 75 + lib/libcxx/include/__algorithm/remove.h | 50 + lib/libcxx/include/__algorithm/remove_copy.h | 43 + lib/libcxx/include/__algorithm/remove_copy_if.h | 43 + lib/libcxx/include/__algorithm/remove_if.h | 51 + lib/libcxx/include/__algorithm/replace.h | 37 + lib/libcxx/include/__algorithm/replace_copy.h | 41 + lib/libcxx/include/__algorithm/replace_copy_if.h | 41 + lib/libcxx/include/__algorithm/replace_if.h | 37 + lib/libcxx/include/__algorithm/reverse.h | 61 + lib/libcxx/include/__algorithm/reverse_copy.h | 37 + lib/libcxx/include/__algorithm/rotate.h | 205 + lib/libcxx/include/__algorithm/rotate_copy.h | 38 + lib/libcxx/include/__algorithm/sample.h | 101 + lib/libcxx/include/__algorithm/search.h | 131 + lib/libcxx/include/__algorithm/search_n.h | 116 + lib/libcxx/include/__algorithm/set_difference.h | 77 + lib/libcxx/include/__algorithm/set_intersection.h | 74 + lib/libcxx/include/__algorithm/set_symmetric_difference.h | 82 + lib/libcxx/include/__algorithm/set_union.h | 77 + lib/libcxx/include/__algorithm/shift_left.h | 61 + lib/libcxx/include/__algorithm/shift_right.h | 106 + lib/libcxx/include/__algorithm/shuffle.h | 127 + lib/libcxx/include/__algorithm/sift_down.h | 84 + lib/libcxx/include/__algorithm/sort.h | 530 + lib/libcxx/include/__algorithm/sort_heap.h | 58 + lib/libcxx/include/__algorithm/stable_partition.h | 305 + lib/libcxx/include/__algorithm/stable_sort.h | 235 + lib/libcxx/include/__algorithm/swap_ranges.h | 37 + lib/libcxx/include/__algorithm/transform.h | 48 + lib/libcxx/include/__algorithm/unique.h | 63 + lib/libcxx/include/__algorithm/unique_copy.h | 114 + lib/libcxx/include/__algorithm/unwrap_iter.h | 87 + lib/libcxx/include/__algorithm/upper_bound.h | 72 + lib/libcxx/include/__availability | 68 +- lib/libcxx/include/__bit_reference | 36 +- lib/libcxx/include/__bits | 3 +- lib/libcxx/include/__bsd_locale_fallbacks.h | 4 +- lib/libcxx/include/__config | 274 +- lib/libcxx/include/__config_site.in | 40 - lib/libcxx/include/__debug | 2 +- lib/libcxx/include/__errc | 2 +- lib/libcxx/include/__format/format_error.h | 56 + lib/libcxx/include/__format/format_parse_context.h | 113 + lib/libcxx/include/__function_like.h | 56 + lib/libcxx/include/__functional/binary_function.h | 31 + lib/libcxx/include/__functional/binary_negate.h | 50 + lib/libcxx/include/__functional/bind.h | 386 + lib/libcxx/include/__functional/bind_front.h | 52 + lib/libcxx/include/__functional/binder1st.h | 54 + lib/libcxx/include/__functional/binder2nd.h | 54 + lib/libcxx/include/__functional/default_searcher.h | 56 + lib/libcxx/include/__functional/function.h | 2809 + lib/libcxx/include/__functional/hash.h | 873 + lib/libcxx/include/__functional/identity.h | 37 + lib/libcxx/include/__functional/invoke.h | 100 + lib/libcxx/include/__functional/is_transparent.h | 36 + lib/libcxx/include/__functional/mem_fn.h | 161 + lib/libcxx/include/__functional/mem_fun_ref.h | 173 + lib/libcxx/include/__functional/not_fn.h | 47 + lib/libcxx/include/__functional/operations.h | 729 + lib/libcxx/include/__functional/perfect_forward.h | 88 + lib/libcxx/include/__functional/pointer_to_binary_function.h | 46 + lib/libcxx/include/__functional/pointer_to_unary_function.h | 46 + lib/libcxx/include/__functional/ranges_operations.h | 97 + lib/libcxx/include/__functional/reference_wrapper.h | 223 + lib/libcxx/include/__functional/unary_function.h | 34 + lib/libcxx/include/__functional/unary_negate.h | 47 + lib/libcxx/include/__functional/unwrap_ref.h | 62 + lib/libcxx/include/__functional/weak_result_type.h | 481 + lib/libcxx/include/__functional_03 | 1591 - lib/libcxx/include/__functional_base | 645 +- lib/libcxx/include/__functional_base_03 | 223 - lib/libcxx/include/__hash_table | 66 +- lib/libcxx/include/__iterator/access.h | 134 + lib/libcxx/include/__iterator/advance.h | 200 + lib/libcxx/include/__iterator/back_insert_iterator.h | 75 + lib/libcxx/include/__iterator/common_iterator.h | 301 + lib/libcxx/include/__iterator/concepts.h | 272 + lib/libcxx/include/__iterator/counted_iterator.h | 306 + lib/libcxx/include/__iterator/data.h | 56 + lib/libcxx/include/__iterator/default_sentinel.h | 35 + lib/libcxx/include/__iterator/distance.h | 56 + lib/libcxx/include/__iterator/empty.h | 49 + lib/libcxx/include/__iterator/erase_if_container.h | 45 + lib/libcxx/include/__iterator/front_insert_iterator.h | 75 + lib/libcxx/include/__iterator/incrementable_traits.h | 77 + lib/libcxx/include/__iterator/insert_iterator.h | 77 + lib/libcxx/include/__iterator/istream_iterator.h | 103 + lib/libcxx/include/__iterator/istreambuf_iterator.h | 110 + lib/libcxx/include/__iterator/iter_move.h | 91 + lib/libcxx/include/__iterator/iter_swap.h | 107 + lib/libcxx/include/__iterator/iterator.h | 40 + lib/libcxx/include/__iterator/iterator_traits.h | 500 + lib/libcxx/include/__iterator/move_iterator.h | 189 + lib/libcxx/include/__iterator/next.h | 87 + lib/libcxx/include/__iterator/ostream_iterator.h | 75 + lib/libcxx/include/__iterator/ostreambuf_iterator.h | 81 + lib/libcxx/include/__iterator/prev.h | 79 + lib/libcxx/include/__iterator/projected.h | 45 + lib/libcxx/include/__iterator/readable_traits.h | 91 + lib/libcxx/include/__iterator/reverse_access.h | 109 + lib/libcxx/include/__iterator/reverse_iterator.h | 239 + lib/libcxx/include/__iterator/size.h | 58 + lib/libcxx/include/__iterator/wrap_iter.h | 300 + lib/libcxx/include/__libcpp_version | 2 +- lib/libcxx/include/__locale | 26 +- lib/libcxx/include/__memory/addressof.h | 96 + lib/libcxx/include/__memory/allocation_guard.h | 89 + lib/libcxx/include/__memory/allocator.h | 254 + lib/libcxx/include/__memory/allocator_arg_t.h | 78 + lib/libcxx/include/__memory/allocator_traits.h | 12 +- lib/libcxx/include/__memory/auto_ptr.h | 86 + lib/libcxx/include/__memory/base.h | 127 - lib/libcxx/include/__memory/compressed_pair.h | 201 + lib/libcxx/include/__memory/construct_at.h | 59 + lib/libcxx/include/__memory/pointer_safety.h | 57 + lib/libcxx/include/__memory/pointer_traits.h | 51 +- lib/libcxx/include/__memory/raw_storage_iterator.h | 73 + lib/libcxx/include/__memory/shared_ptr.h | 1879 + lib/libcxx/include/__memory/temporary_buffer.h | 89 + lib/libcxx/include/__memory/uninitialized_algorithms.h | 261 + lib/libcxx/include/__memory/unique_ptr.h | 773 + lib/libcxx/include/__memory/uses_allocator.h | 60 + lib/libcxx/include/__memory/utilities.h | 88 - lib/libcxx/include/__mutex_base | 8 +- lib/libcxx/include/__node_handle | 3 +- lib/libcxx/include/__nullptr | 4 +- lib/libcxx/include/__random/uniform_int_distribution.h | 316 + lib/libcxx/include/__ranges/access.h | 222 + lib/libcxx/include/__ranges/all.h | 86 + lib/libcxx/include/__ranges/common_view.h | 113 + lib/libcxx/include/__ranges/concepts.h | 138 + lib/libcxx/include/__ranges/copyable_box.h | 175 + lib/libcxx/include/__ranges/dangling.h | 47 + lib/libcxx/include/__ranges/data.h | 86 + lib/libcxx/include/__ranges/drop_view.h | 131 + lib/libcxx/include/__ranges/empty.h | 86 + lib/libcxx/include/__ranges/empty_view.h | 46 + lib/libcxx/include/__ranges/enable_borrowed_range.h | 46 + lib/libcxx/include/__ranges/enable_view.h | 42 + lib/libcxx/include/__ranges/non_propagating_cache.h | 99 + lib/libcxx/include/__ranges/ref_view.h | 87 + lib/libcxx/include/__ranges/size.h | 132 + lib/libcxx/include/__ranges/subrange.h | 267 + lib/libcxx/include/__ranges/transform_view.h | 408 + lib/libcxx/include/__ranges/view_interface.h | 198 + lib/libcxx/include/__split_buffer | 13 +- lib/libcxx/include/__sso_allocator | 77 - lib/libcxx/include/__std_stream | 6 +- lib/libcxx/include/__string | 72 +- lib/libcxx/include/__support/ibm/gettod_zos.h | 53 + lib/libcxx/include/__support/ibm/locale_mgmt_zos.h | 53 + lib/libcxx/include/__support/ibm/nanosleep.h | 60 +- lib/libcxx/include/__support/ibm/xlocale.h | 76 +- lib/libcxx/include/__support/openbsd/xlocale.h | 6 +- lib/libcxx/include/__support/win32/limits_msvc_win32.h | 2 +- lib/libcxx/include/__support/win32/locale_win32.h | 23 +- lib/libcxx/include/__threading_support | 23 +- lib/libcxx/include/__tree | 12 +- lib/libcxx/include/__tuple | 4 +- lib/libcxx/include/__utility/__decay_copy.h | 39 + lib/libcxx/include/__utility/as_const.h | 38 + lib/libcxx/include/__utility/cmp.h | 107 + lib/libcxx/include/__utility/declval.h | 39 + lib/libcxx/include/__utility/exchange.h | 40 + lib/libcxx/include/__utility/forward.h | 42 + lib/libcxx/include/__utility/in_place.h | 63 + lib/libcxx/include/__utility/integer_sequence.h | 83 + lib/libcxx/include/__utility/move.h | 52 + lib/libcxx/include/__utility/pair.h | 585 + lib/libcxx/include/__utility/piecewise_construct.h | 34 + lib/libcxx/include/__utility/rel_ops.h | 67 + lib/libcxx/include/__utility/swap.h | 55 + lib/libcxx/include/__utility/to_underlying.h | 45 + lib/libcxx/include/__variant/monostate.h | 65 + lib/libcxx/include/algorithm | 5328 +- lib/libcxx/include/any | 7 +- lib/libcxx/include/array | 15 +- lib/libcxx/include/atomic | 77 +- lib/libcxx/include/barrier | 9 +- lib/libcxx/include/bit | 82 +- lib/libcxx/include/bitset | 24 +- lib/libcxx/include/ccomplex | 2 +- lib/libcxx/include/cctype | 30 +- lib/libcxx/include/cerrno | 2 +- lib/libcxx/include/cfenv | 30 +- lib/libcxx/include/cfloat | 2 +- lib/libcxx/include/charconv | 137 +- lib/libcxx/include/chrono | 33 +- lib/libcxx/include/cinttypes | 16 +- lib/libcxx/include/ciso646 | 2 +- lib/libcxx/include/climits | 2 +- lib/libcxx/include/clocale | 8 +- lib/libcxx/include/cmath | 428 +- lib/libcxx/include/codecvt | 2 +- lib/libcxx/include/compare | 570 +- lib/libcxx/include/complex | 6 +- lib/libcxx/include/complex.h | 4 +- lib/libcxx/include/concepts | 304 +- lib/libcxx/include/condition_variable | 2 +- lib/libcxx/include/csetjmp | 6 +- lib/libcxx/include/csignal | 8 +- lib/libcxx/include/cstdarg | 4 +- lib/libcxx/include/cstdbool | 2 +- lib/libcxx/include/cstddef | 14 +- lib/libcxx/include/cstdint | 72 +- lib/libcxx/include/cstdio | 102 +- lib/libcxx/include/cstdlib | 88 +- lib/libcxx/include/cstring | 48 +- lib/libcxx/include/ctgmath | 2 +- lib/libcxx/include/ctime | 34 +- lib/libcxx/include/ctype.h | 2 +- lib/libcxx/include/cwchar | 130 +- lib/libcxx/include/cwctype | 46 +- lib/libcxx/include/deque | 50 +- lib/libcxx/include/errno.h | 6 +- lib/libcxx/include/exception | 18 +- lib/libcxx/include/experimental/__config | 4 - lib/libcxx/include/experimental/__memory | 27 +- lib/libcxx/include/experimental/functional | 45 +- lib/libcxx/include/experimental/iterator | 3 + lib/libcxx/include/experimental/propagate_const | 2 +- lib/libcxx/include/experimental/simd | 4 +- lib/libcxx/include/experimental/type_traits | 2 +- lib/libcxx/include/ext/__hash | 3 +- lib/libcxx/include/ext/hash_map | 6 +- lib/libcxx/include/ext/hash_set | 4 +- lib/libcxx/include/filesystem | 142 +- lib/libcxx/include/float.h | 2 +- lib/libcxx/include/format | 86 + lib/libcxx/include/forward_list | 61 +- lib/libcxx/include/fstream | 51 +- lib/libcxx/include/functional | 2786 +- lib/libcxx/include/future | 55 +- lib/libcxx/include/initializer_list | 4 +- lib/libcxx/include/inttypes.h | 2 +- lib/libcxx/include/iomanip | 20 +- lib/libcxx/include/ios | 26 +- lib/libcxx/include/iosfwd | 15 +- lib/libcxx/include/iostream | 6 +- lib/libcxx/include/istream | 97 +- lib/libcxx/include/iterator | 1910 +- lib/libcxx/include/latch | 2 +- lib/libcxx/include/limits | 2 +- lib/libcxx/include/limits.h | 2 +- lib/libcxx/include/list | 92 +- lib/libcxx/include/locale | 79 +- lib/libcxx/include/locale.h | 2 +- lib/libcxx/include/map | 86 +- lib/libcxx/include/math.h | 320 +- lib/libcxx/include/memory | 3475 +- lib/libcxx/include/module.modulemap | 293 +- lib/libcxx/include/mutex | 17 +- lib/libcxx/include/new | 6 +- lib/libcxx/include/numbers | 37 +- lib/libcxx/include/numeric | 11 +- lib/libcxx/include/optional | 193 +- lib/libcxx/include/ostream | 121 +- lib/libcxx/include/queue | 124 +- lib/libcxx/include/random | 102 +- lib/libcxx/include/ranges | 209 + lib/libcxx/include/ratio | 12 +- lib/libcxx/include/regex | 36 +- lib/libcxx/include/scoped_allocator | 7 +- lib/libcxx/include/semaphore | 6 +- lib/libcxx/include/set | 98 +- lib/libcxx/include/setjmp.h | 2 +- lib/libcxx/include/shared_mutex | 8 +- lib/libcxx/include/span | 33 +- lib/libcxx/include/sstream | 50 +- lib/libcxx/include/stack | 36 +- lib/libcxx/include/stdbool.h | 2 +- lib/libcxx/include/stddef.h | 2 +- lib/libcxx/include/stdexcept | 4 +- lib/libcxx/include/stdint.h | 2 +- lib/libcxx/include/stdio.h | 2 +- lib/libcxx/include/stdlib.h | 16 +- lib/libcxx/include/streambuf | 8 +- lib/libcxx/include/string | 374 +- lib/libcxx/include/string.h | 2 +- lib/libcxx/include/string_view | 86 +- lib/libcxx/include/strstream | 14 +- lib/libcxx/include/system_error | 15 +- lib/libcxx/include/tgmath.h | 4 +- lib/libcxx/include/thread | 31 +- lib/libcxx/include/tuple | 1081 +- lib/libcxx/include/type_traits | 548 +- lib/libcxx/include/typeindex | 6 +- lib/libcxx/include/typeinfo | 54 +- lib/libcxx/include/unordered_map | 51 +- lib/libcxx/include/unordered_set | 45 +- lib/libcxx/include/utility | 1469 +- lib/libcxx/include/valarray | 231 +- lib/libcxx/include/variant | 140 +- lib/libcxx/include/vector | 124 +- lib/libcxx/include/version | 58 +- lib/libcxx/include/wchar.h | 4 +- lib/libcxx/include/wctype.h | 14 +- lib/libcxx/src/any.cpp | 6 +- lib/libcxx/src/charconv.cpp | 4 +- lib/libcxx/src/chrono.cpp | 31 +- lib/libcxx/src/condition_variable.cpp | 8 +- lib/libcxx/src/debug.cpp | 2 +- lib/libcxx/src/experimental/memory_resource.cpp | 21 +- lib/libcxx/src/filesystem/directory_iterator.cpp | 10 +- lib/libcxx/src/filesystem/filesystem_common.h | 201 +- lib/libcxx/src/filesystem/operations.cpp | 377 +- lib/libcxx/src/filesystem/posix_compat.h | 521 + lib/libcxx/src/format.cpp | 19 + lib/libcxx/src/functional.cpp | 4 +- lib/libcxx/src/future.cpp | 10 +- lib/libcxx/src/include/config_elast.h | 4 + lib/libcxx/src/include/refstring.h | 8 +- lib/libcxx/src/include/sso_allocator.h | 77 + lib/libcxx/src/ios.cpp | 14 +- lib/libcxx/src/locale.cpp | 167 +- lib/libcxx/src/memory.cpp | 33 +- lib/libcxx/src/mutex.cpp | 24 +- lib/libcxx/src/mutex_destructor.cpp | 2 +- lib/libcxx/src/new.cpp | 48 +- lib/libcxx/src/optional.cpp | 8 +- lib/libcxx/src/random.cpp | 2 +- lib/libcxx/src/string.cpp | 8 +- lib/libcxx/src/support/ibm/xlocale_zos.cpp | 137 + lib/libcxx/src/support/runtime/exception_fallback.ipp | 50 +- lib/libcxx/src/support/runtime/exception_glibcxx.ipp | 8 +- lib/libcxx/src/support/runtime/exception_libcxxabi.ipp | 4 +- lib/libcxx/src/support/runtime/exception_libcxxrt.ipp | 4 +- lib/libcxx/src/support/runtime/exception_msvc.ipp | 50 +- lib/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp | 12 +- lib/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp | 14 +- lib/libcxx/src/support/runtime/exception_pointer_msvc.ipp | 24 +- lib/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp | 12 +- lib/libcxx/src/support/runtime/new_handler_fallback.ipp | 4 +- lib/libcxx/src/support/runtime/stdexcept_default.ipp | 30 +- lib/libcxx/src/support/win32/support.cpp | 5 +- lib/libcxx/src/support/win32/thread_win32.cpp | 44 +- lib/libcxx/src/system_error.cpp | 34 +- lib/libcxx/src/thread.cpp | 4 +- lib/libcxx/src/typeinfo.cpp | 6 +- lib/libcxxabi/src/cxa_default_handlers.cpp | 4 +- lib/libcxxabi/src/cxa_exception.cpp | 4 +- lib/libcxxabi/src/cxa_exception.h | 2 +- lib/libcxxabi/src/cxa_handlers.cpp | 16 +- lib/libcxxabi/src/cxa_handlers.h | 4 +- lib/libcxxabi/src/cxa_personality.cpp | 95 +- lib/libcxxabi/src/demangle/ItaniumDemangle.h | 26 +- lib/libcxxabi/src/demangle/StringView.h | 13 +- lib/libcxxabi/src/private_typeinfo.cpp | 4 +- lib/libcxxabi/src/private_typeinfo.h | 2 +- lib/libcxxabi/src/stdlib_exception.cpp | 20 +- lib/libcxxabi/src/stdlib_new_delete.cpp | 52 +- lib/libcxxabi/src/stdlib_stdexcept.cpp | 26 +- lib/libcxxabi/src/stdlib_typeinfo.cpp | 12 +- lib/libunwind/include/__libunwind_config.h | 17 +- lib/libunwind/include/libunwind.h | 47 +- lib/libunwind/src/DwarfInstructions.hpp | 17 +- lib/libunwind/src/Registers.hpp | 123 +- lib/libunwind/src/Unwind-EHABI.cpp | 2 + lib/libunwind/src/UnwindCursor.hpp | 16 +- lib/libunwind/src/UnwindRegistersRestore.S | 384 +- lib/libunwind/src/UnwindRegistersSave.S | 420 +- lib/libunwind/src/assembly.h | 58 +- lib/libunwind/src/config.h | 11 +- lib/libunwind/src/libunwind.cpp | 15 +- lib/std/bit_set.zig | 4 + lib/std/fmt.zig | 4 - lib/std/hash/auto_hash.zig | 3 - lib/std/target.zig | 8 + lib/std/target/aarch64.zig | 126 +- lib/std/target/amdgpu.zig | 263 +- lib/std/target/arc.zig | 39 + lib/std/target/arm.zig | 20 +- lib/std/target/hexagon.zig | 35 + lib/std/target/nvptx.zig | 26 + lib/std/target/powerpc.zig | 35 +- lib/std/target/riscv.zig | 2 +- lib/std/target/systemz.zig | 76 + lib/std/target/wasm.zig | 8 - lib/std/target/x86.zig | 167 +- lib/tsan/interception/interception.h | 35 +- lib/tsan/interception/interception_linux.cpp | 10 +- lib/tsan/interception/interception_linux.h | 10 +- lib/tsan/interception/interception_win.cpp | 6 +- lib/tsan/sanitizer_common/sanitizer_addrhashmap.h | 106 +- lib/tsan/sanitizer_common/sanitizer_allocator.cpp | 25 +- lib/tsan/sanitizer_common/sanitizer_allocator.h | 6 +- lib/tsan/sanitizer_common/sanitizer_allocator_checks.h | 10 +- lib/tsan/sanitizer_common/sanitizer_allocator_combined.h | 8 +- lib/tsan/sanitizer_common/sanitizer_allocator_local_cache.h | 19 +- lib/tsan/sanitizer_common/sanitizer_allocator_primary32.h | 8 +- lib/tsan/sanitizer_common/sanitizer_allocator_primary64.h | 256 +- lib/tsan/sanitizer_common/sanitizer_allocator_report.cpp | 8 + lib/tsan/sanitizer_common/sanitizer_allocator_report.h | 1 + lib/tsan/sanitizer_common/sanitizer_allocator_secondary.h | 16 +- lib/tsan/sanitizer_common/sanitizer_allocator_size_class_map.h | 2 +- lib/tsan/sanitizer_common/sanitizer_atomic.h | 4 +- lib/tsan/sanitizer_common/sanitizer_atomic_clang.h | 14 +- lib/tsan/sanitizer_common/sanitizer_atomic_clang_mips.h | 18 +- lib/tsan/sanitizer_common/sanitizer_atomic_clang_other.h | 24 +- lib/tsan/sanitizer_common/sanitizer_atomic_clang_x86.h | 6 +- lib/tsan/sanitizer_common/sanitizer_atomic_msvc.h | 36 +- lib/tsan/sanitizer_common/sanitizer_common.cpp | 25 +- lib/tsan/sanitizer_common/sanitizer_common.h | 192 +- lib/tsan/sanitizer_common/sanitizer_common_interceptors.inc | 312 +- lib/tsan/sanitizer_common/sanitizer_common_interceptors_format.inc | 6 + lib/tsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc | 15 +- lib/tsan/sanitizer_common/sanitizer_common_interface.inc | 1 + lib/tsan/sanitizer_common/sanitizer_common_libcdep.cpp | 60 +- lib/tsan/sanitizer_common/sanitizer_common_nolibc.cpp | 5 +- lib/tsan/sanitizer_common/sanitizer_common_syscalls.inc | 14 +- lib/tsan/sanitizer_common/sanitizer_deadlock_detector1.cpp | 4 +- lib/tsan/sanitizer_common/sanitizer_deadlock_detector2.cpp | 34 +- lib/tsan/sanitizer_common/sanitizer_deadlock_detector_interface.h | 6 + lib/tsan/sanitizer_common/sanitizer_errno.h | 3 +- lib/tsan/sanitizer_common/sanitizer_errno_codes.h | 1 + lib/tsan/sanitizer_common/sanitizer_file.cpp | 40 +- lib/tsan/sanitizer_common/sanitizer_file.h | 1 + lib/tsan/sanitizer_common/sanitizer_flag_parser.h | 2 +- lib/tsan/sanitizer_common/sanitizer_flags.cpp | 16 +- lib/tsan/sanitizer_common/sanitizer_flags.h | 4 + lib/tsan/sanitizer_common/sanitizer_flags.inc | 21 +- lib/tsan/sanitizer_common/sanitizer_fuchsia.cpp | 122 +- lib/tsan/sanitizer_common/sanitizer_fuchsia.h | 2 + lib/tsan/sanitizer_common/sanitizer_getauxval.h | 5 +- lib/tsan/sanitizer_common/sanitizer_interface_internal.h | 4 + lib/tsan/sanitizer_common/sanitizer_internal_defs.h | 24 +- lib/tsan/sanitizer_common/sanitizer_libc.h | 3 +- lib/tsan/sanitizer_common/sanitizer_libignore.cpp | 4 +- lib/tsan/sanitizer_common/sanitizer_linux.cpp | 291 +- lib/tsan/sanitizer_common/sanitizer_linux.h | 14 +- lib/tsan/sanitizer_common/sanitizer_linux_libcdep.cpp | 612 +- lib/tsan/sanitizer_common/sanitizer_local_address_space_view.h | 2 +- lib/tsan/sanitizer_common/sanitizer_mac.cpp | 320 +- lib/tsan/sanitizer_common/sanitizer_mac.h | 18 +- lib/tsan/sanitizer_common/sanitizer_malloc_mac.inc | 6 +- lib/tsan/sanitizer_common/sanitizer_mutex.cpp | 225 + lib/tsan/sanitizer_common/sanitizer_mutex.h | 368 +- lib/tsan/sanitizer_common/sanitizer_netbsd.cpp | 22 +- lib/tsan/sanitizer_common/sanitizer_openbsd.cpp | 115 - lib/tsan/sanitizer_common/sanitizer_platform.h | 68 +- lib/tsan/sanitizer_common/sanitizer_platform_interceptors.h | 374 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_freebsd.cpp | 5 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_netbsd.cpp | 155 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_netbsd.h | 6 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_openbsd.cpp | 279 - lib/tsan/sanitizer_common/sanitizer_platform_limits_openbsd.h | 382 - lib/tsan/sanitizer_common/sanitizer_platform_limits_posix.cpp | 119 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_posix.h | 28 +- lib/tsan/sanitizer_common/sanitizer_platform_limits_solaris.cpp | 3 +- lib/tsan/sanitizer_common/sanitizer_posix.cpp | 16 +- lib/tsan/sanitizer_common/sanitizer_posix.h | 6 +- lib/tsan/sanitizer_common/sanitizer_posix_libcdep.cpp | 40 +- lib/tsan/sanitizer_common/sanitizer_printf.cpp | 84 +- lib/tsan/sanitizer_common/sanitizer_procmaps.h | 2 +- lib/tsan/sanitizer_common/sanitizer_procmaps_bsd.cpp | 31 +- lib/tsan/sanitizer_common/sanitizer_procmaps_common.cpp | 4 +- lib/tsan/sanitizer_common/sanitizer_procmaps_mac.cpp | 4 +- lib/tsan/sanitizer_common/sanitizer_procmaps_solaris.cpp | 7 +- lib/tsan/sanitizer_common/sanitizer_ptrauth.h | 20 + lib/tsan/sanitizer_common/sanitizer_quarantine.h | 3 +- lib/tsan/sanitizer_common/sanitizer_rtems.cpp | 283 - lib/tsan/sanitizer_common/sanitizer_rtems.h | 20 - lib/tsan/sanitizer_common/sanitizer_signal_interceptors.inc | 5 +- lib/tsan/sanitizer_common/sanitizer_solaris.cpp | 32 +- lib/tsan/sanitizer_common/sanitizer_stackdepot.cpp | 9 +- lib/tsan/sanitizer_common/sanitizer_stackdepot.h | 1 + lib/tsan/sanitizer_common/sanitizer_stackdepotbase.h | 20 +- lib/tsan/sanitizer_common/sanitizer_stacktrace.cpp | 40 +- lib/tsan/sanitizer_common/sanitizer_stacktrace.h | 59 +- lib/tsan/sanitizer_common/sanitizer_stacktrace_libcdep.cpp | 174 +- lib/tsan/sanitizer_common/sanitizer_stacktrace_printer.cpp | 92 +- lib/tsan/sanitizer_common/sanitizer_stacktrace_printer.h | 4 +- lib/tsan/sanitizer_common/sanitizer_stoptheworld.h | 13 +- lib/tsan/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp | 3 +- lib/tsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp | 106 +- lib/tsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp | 20 +- lib/tsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp | 16 +- lib/tsan/sanitizer_common/sanitizer_suppressions.cpp | 4 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_internal.h | 7 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_libbacktrace.h | 2 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp | 11 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_mac.cpp | 21 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_mac.h | 4 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_markup.cpp | 24 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp | 19 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_report.cpp | 35 +- lib/tsan/sanitizer_common/sanitizer_symbolizer_rtems.h | 40 - lib/tsan/sanitizer_common/sanitizer_symbolizer_win.cpp | 20 +- lib/tsan/sanitizer_common/sanitizer_syscall_generic.inc | 2 +- lib/tsan/sanitizer_common/sanitizer_syscalls_netbsd.inc | 119 +- lib/tsan/sanitizer_common/sanitizer_termination.cpp | 33 +- lib/tsan/sanitizer_common/sanitizer_thread_registry.cpp | 41 +- lib/tsan/sanitizer_common/sanitizer_thread_registry.h | 30 +- lib/tsan/sanitizer_common/sanitizer_thread_safety.h | 42 + lib/tsan/sanitizer_common/sanitizer_tls_get_addr.cpp | 86 +- lib/tsan/sanitizer_common/sanitizer_tls_get_addr.h | 21 +- lib/tsan/sanitizer_common/sanitizer_unwind_win.cpp | 11 + lib/tsan/sanitizer_common/sanitizer_win.cpp | 130 +- lib/tsan/tsan_clock.cpp | 66 +- lib/tsan/tsan_clock.h | 16 +- lib/tsan/tsan_defs.h | 30 +- lib/tsan/tsan_dense_alloc.h | 33 +- lib/tsan/tsan_external.cpp | 11 +- lib/tsan/tsan_flags.cpp | 2 +- lib/tsan/tsan_interceptors.h | 18 +- lib/tsan/tsan_interceptors_mac.cpp | 10 +- lib/tsan/tsan_interceptors_mach_vm.cpp | 19 +- lib/tsan/tsan_interceptors_posix.cpp | 238 +- lib/tsan/tsan_interface.cpp | 13 +- lib/tsan/tsan_interface.h | 12 +- lib/tsan/tsan_interface_ann.cpp | 9 +- lib/tsan/tsan_interface_atomic.cpp | 74 +- lib/tsan/tsan_interface_inl.h | 23 +- lib/tsan/tsan_interface_java.cpp | 1 - lib/tsan/tsan_mman.cpp | 7 +- lib/tsan/tsan_mutex.cpp | 289 - lib/tsan/tsan_mutex.h | 90 - lib/tsan/tsan_platform.h | 199 +- lib/tsan/tsan_platform_linux.cpp | 46 +- lib/tsan/tsan_platform_mac.cpp | 9 +- lib/tsan/tsan_platform_posix.cpp | 69 +- lib/tsan/tsan_report.cpp | 20 +- lib/tsan/tsan_rtl.cpp | 214 +- lib/tsan/tsan_rtl.h | 47 +- lib/tsan/tsan_rtl_mutex.cpp | 75 +- lib/tsan/tsan_rtl_report.cpp | 64 +- lib/tsan/tsan_rtl_thread.cpp | 25 +- lib/tsan/tsan_stack_trace.cpp | 8 +- lib/tsan/tsan_stat.cpp | 186 - lib/tsan/tsan_stat.h | 191 - lib/tsan/tsan_sync.cpp | 15 +- lib/tsan/tsan_sync.h | 9 +- lib/tsan/tsan_trace.h | 5 +- lib/tsan/tsan_update_shadow_word_inl.h | 12 +- lib/tsan/ubsan/ubsan_flags.h | 2 - lib/tsan/ubsan/ubsan_platform.h | 8 +- src/Compilation.zig | 4 +- src/clang.zig | 79 +- src/codegen/llvm.zig | 89 +- src/codegen/llvm/bindings.zig | 30 +- src/config.zig.in | 4 + src/libcxx.zig | 20 +- src/libtsan.zig | 10 +- src/stage1/codegen.cpp | 52 +- src/stage1/target.cpp | 8 +- src/target.zig | 6 + src/zig_clang.cpp | 602 +- src/zig_clang.h | 79 +- src/zig_clang_cc1_main.cpp | 15 +- src/zig_clang_cc1as_main.cpp | 61 +- src/zig_clang_driver.cpp | 106 +- src/zig_llvm-ar.cpp | 275 +- src/zig_llvm.cpp | 68 +- src/zig_llvm.h | 28 +- test/behavior/byteswap.zig | 3 - test/behavior/popcount.zig | 3 - test/behavior/shuffle.zig | 3 +- test/standalone/install_raw_hex/build.zig | 26 +- tools/process_headers.zig | 10 + tools/update_cpu_features.zig | 2 - 762 files changed, 202137 insertions(+), 35727 deletions(-)