update libcxx, libcxxabi and libunwind to 16.0.6;
authorrobert <robert@openbsd.org>
Fri, 26 Jan 2024 11:51:45 +0000 (11:51 +0000)
committerrobert <robert@openbsd.org>
Fri, 26 Jan 2024 11:51:45 +0000 (11:51 +0000)
tested by and input from tb@; ok kettenis@

gnu/lib/libcxx/Makefile
gnu/lib/libcxx/include/c++/v1/__config_site
gnu/lib/libcxx/shlib_version
gnu/lib/libcxxabi/Makefile
gnu/lib/libcxxabi/shlib_version
gnu/lib/libexecinfo/Makefile

index 580d6eb..17fcd50 100644 (file)
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.6 2023/07/05 15:34:52 robert Exp $
+# $OpenBSD: Makefile,v 1.7 2024/01/26 11:51:45 robert Exp $
 
 .include <bsd.own.mk>
 
@@ -18,11 +18,10 @@ CXXINCLUDEDIR=      /usr/include/c++/v1
 LOCALHDRDIR=   ${.CURDIR}/include/c++/v1
 CONFIG_SITE=   ${LOCALHDRDIR}/__config_site
 
-.PATH: ${SRCDIR} ${SRCDIR}/filesystem
+.PATH: ${SRCDIR} ${SRCDIR}/filesystem ${SRCDIR}/ryu
 
 LIB=           c++
 
-
 SRCS+=         algorithm.cpp \
                any.cpp \
                atomic.cpp \
@@ -33,7 +32,6 @@ SRCS+=                algorithm.cpp \
                condition_variable.cpp \
                condition_variable_destructor.cpp \
                debug.cpp \
-               directory_iterator.cpp \
                exception.cpp \
                functional.cpp \
                future.cpp \
@@ -41,12 +39,14 @@ SRCS+=              algorithm.cpp \
                ios.cpp \
                ios.instantiations.cpp \
                iostream.cpp \
+               legacy_debug_handler.cpp \
+               legacy_pointer_safety.cpp \
                locale.cpp \
                memory.cpp \
+               memory_resource.cpp \
                mutex.cpp \
                mutex_destructor.cpp \
                new.cpp \
-               operations.cpp \
                optional.cpp \
                random.cpp \
                random_shuffle.cpp \
@@ -61,14 +61,27 @@ SRCS+=              algorithm.cpp \
                utility.cpp \
                valarray.cpp \
                variant.cpp \
-               vector.cpp
+               vector.cpp \
+               verbose_abort.cpp
+
+# filesystem
+SRCS+=         directory_iterator.cpp \
+               operations.cpp
+# ryu
+SRCS+=         d2fixed.cpp \
+               d2s.cpp \
+               f2s.cpp
 
-CPPFLAGS+=     -Wall -DLIBCXXABI -I${HDRDIR} -D_LIBCPP_BUILDING_LIBRARY \
+CPPFLAGS+=     -Wall -DLIBCXXABI -I${HDRDIR} -I${SRCDIR} -D_LIBCPP_BUILDING_LIBRARY \
                -DLIBCXX_BUILDING_LIBCXXABI -I${AHDRDIR} -I${UHDRDIR} -I${LOCALHDRDIR} \
                -DNDEBUG
+
+# This is required because our __string directory has been moved
+CPPFLAGS+=     -I${HDRDIR}/__string.d/
+
 CXXFLAGS+=     -nostdlib -nostdinc++
 .if empty(CXXFLAGS:M-std=*)
-CXXFLAGS+=     -std=c++14
+CXXFLAGS+=     -std=c++20
 .endif
 
 LDADD+=                -L${BSDOBJDIR}/gnu/lib/libcxxabi -lc++abi
@@ -80,79 +93,172 @@ STD_HEADERS=       \
        __algorithm/any_of.h \
        __algorithm/binary_search.h \
        __algorithm/clamp.h \
-       __algorithm/comp_ref_type.h \
        __algorithm/comp.h \
+       __algorithm/comp_ref_type.h \
+       __algorithm/copy.h \
        __algorithm/copy_backward.h \
        __algorithm/copy_if.h \
+       __algorithm/copy_move_common.h \
        __algorithm/copy_n.h \
-       __algorithm/copy.h \
-       __algorithm/count_if.h \
        __algorithm/count.h \
-       __algorithm/equal_range.h \
+       __algorithm/count_if.h \
        __algorithm/equal.h \
-       __algorithm/fill_n.h \
+       __algorithm/equal_range.h \
        __algorithm/fill.h \
+       __algorithm/fill_n.h \
+       __algorithm/find.h \
        __algorithm/find_end.h \
        __algorithm/find_first_of.h \
-       __algorithm/find_if_not.h \
        __algorithm/find_if.h \
-       __algorithm/find.h \
-       __algorithm/for_each_n.h \
+       __algorithm/find_if_not.h \
        __algorithm/for_each.h \
-       __algorithm/generate_n.h \
+       __algorithm/for_each_n.h \
        __algorithm/generate.h \
+       __algorithm/generate_n.h \
        __algorithm/half_positive.h \
+       __algorithm/in_found_result.h \
+       __algorithm/in_fun_result.h \
+       __algorithm/in_in_out_result.h \
+       __algorithm/in_in_result.h \
+       __algorithm/in_out_out_result.h \
+       __algorithm/in_out_result.h \
        __algorithm/includes.h \
        __algorithm/inplace_merge.h \
-       __algorithm/is_heap_until.h \
        __algorithm/is_heap.h \
+       __algorithm/is_heap_until.h \
        __algorithm/is_partitioned.h \
        __algorithm/is_permutation.h \
-       __algorithm/is_sorted_until.h \
        __algorithm/is_sorted.h \
+       __algorithm/is_sorted_until.h \
        __algorithm/iter_swap.h \
+       __algorithm/iterator_operations.h \
        __algorithm/lexicographical_compare.h \
        __algorithm/lower_bound.h \
        __algorithm/make_heap.h \
-       __algorithm/max_element.h \
+       __algorithm/make_projected.h \
        __algorithm/max.h \
+       __algorithm/max_element.h \
        __algorithm/merge.h \
-       __algorithm/min_element.h \
        __algorithm/min.h \
-       __algorithm/minmax_element.h \
+       __algorithm/min_element.h \
+       __algorithm/min_max_result.h \
        __algorithm/minmax.h \
+       __algorithm/minmax_element.h \
        __algorithm/mismatch.h \
-       __algorithm/move_backward.h \
        __algorithm/move.h \
+       __algorithm/move_backward.h \
        __algorithm/next_permutation.h \
        __algorithm/none_of.h \
        __algorithm/nth_element.h \
-       __algorithm/partial_sort_copy.h \
        __algorithm/partial_sort.h \
+       __algorithm/partial_sort_copy.h \
+       __algorithm/partition.h \
        __algorithm/partition_copy.h \
        __algorithm/partition_point.h \
-       __algorithm/partition.h \
        __algorithm/pop_heap.h \
        __algorithm/prev_permutation.h \
        __algorithm/push_heap.h \
+       __algorithm/ranges_adjacent_find.h \
+       __algorithm/ranges_all_of.h \
+       __algorithm/ranges_any_of.h \
+       __algorithm/ranges_binary_search.h \
+       __algorithm/ranges_clamp.h \
+       __algorithm/ranges_copy.h \
+       __algorithm/ranges_copy_backward.h \
+       __algorithm/ranges_copy_if.h \
+       __algorithm/ranges_copy_n.h \
+       __algorithm/ranges_count.h \
+       __algorithm/ranges_count_if.h \
+       __algorithm/ranges_equal.h \
+       __algorithm/ranges_equal_range.h \
+       __algorithm/ranges_fill.h \
+       __algorithm/ranges_fill_n.h \
        __algorithm/ranges_find.h \
+       __algorithm/ranges_find_end.h \
+       __algorithm/ranges_find_first_of.h \
        __algorithm/ranges_find_if.h \
        __algorithm/ranges_find_if_not.h \
-       __algorithm/remove_copy_if.h \
+       __algorithm/ranges_for_each.h \
+       __algorithm/ranges_for_each_n.h \
+       __algorithm/ranges_generate.h \
+       __algorithm/ranges_generate_n.h \
+       __algorithm/ranges_includes.h \
+       __algorithm/ranges_inplace_merge.h \
+       __algorithm/ranges_is_heap.h \
+       __algorithm/ranges_is_heap_until.h \
+       __algorithm/ranges_is_partitioned.h \
+       __algorithm/ranges_is_permutation.h \
+       __algorithm/ranges_is_sorted.h \
+       __algorithm/ranges_is_sorted_until.h \
+       __algorithm/ranges_iterator_concept.h \
+       __algorithm/ranges_lexicographical_compare.h \
+       __algorithm/ranges_lower_bound.h \
+       __algorithm/ranges_make_heap.h \
+       __algorithm/ranges_max.h \
+       __algorithm/ranges_max_element.h \
+       __algorithm/ranges_merge.h \
+       __algorithm/ranges_min.h \
+       __algorithm/ranges_min_element.h \
+       __algorithm/ranges_minmax.h \
+       __algorithm/ranges_minmax_element.h \
+       __algorithm/ranges_mismatch.h \
+       __algorithm/ranges_move.h \
+       __algorithm/ranges_move_backward.h \
+       __algorithm/ranges_next_permutation.h \
+       __algorithm/ranges_none_of.h \
+       __algorithm/ranges_nth_element.h \
+       __algorithm/ranges_partial_sort.h \
+       __algorithm/ranges_partial_sort_copy.h \
+       __algorithm/ranges_partition.h \
+       __algorithm/ranges_partition_copy.h \
+       __algorithm/ranges_partition_point.h \
+       __algorithm/ranges_pop_heap.h \
+       __algorithm/ranges_prev_permutation.h \
+       __algorithm/ranges_push_heap.h \
+       __algorithm/ranges_remove.h \
+       __algorithm/ranges_remove_copy.h \
+       __algorithm/ranges_remove_copy_if.h \
+       __algorithm/ranges_remove_if.h \
+       __algorithm/ranges_replace.h \
+       __algorithm/ranges_replace_copy.h \
+       __algorithm/ranges_replace_copy_if.h \
+       __algorithm/ranges_replace_if.h \
+       __algorithm/ranges_reverse.h \
+       __algorithm/ranges_reverse_copy.h \
+       __algorithm/ranges_rotate.h \
+       __algorithm/ranges_rotate_copy.h \
+       __algorithm/ranges_sample.h \
+       __algorithm/ranges_search.h \
+       __algorithm/ranges_search_n.h \
+       __algorithm/ranges_set_difference.h \
+       __algorithm/ranges_set_intersection.h \
+       __algorithm/ranges_set_symmetric_difference.h \
+       __algorithm/ranges_set_union.h \
+       __algorithm/ranges_shuffle.h \
+       __algorithm/ranges_sort.h \
+       __algorithm/ranges_sort_heap.h \
+       __algorithm/ranges_stable_partition.h \
+       __algorithm/ranges_stable_sort.h \
+       __algorithm/ranges_swap_ranges.h \
+       __algorithm/ranges_transform.h \
+       __algorithm/ranges_unique.h \
+       __algorithm/ranges_unique_copy.h \
+       __algorithm/ranges_upper_bound.h \
+       __algorithm/remove.h \
        __algorithm/remove_copy.h \
+       __algorithm/remove_copy_if.h \
        __algorithm/remove_if.h \
-       __algorithm/remove.h \
-       __algorithm/replace_copy_if.h \
+       __algorithm/replace.h \
        __algorithm/replace_copy.h \
+       __algorithm/replace_copy_if.h \
        __algorithm/replace_if.h \
-       __algorithm/replace.h \
-       __algorithm/reverse_copy.h \
        __algorithm/reverse.h \
-       __algorithm/rotate_copy.h \
+       __algorithm/reverse_copy.h \
        __algorithm/rotate.h \
+       __algorithm/rotate_copy.h \
        __algorithm/sample.h \
-       __algorithm/search_n.h \
        __algorithm/search.h \
+       __algorithm/search_n.h \
        __algorithm/set_difference.h \
        __algorithm/set_intersection.h \
        __algorithm/set_symmetric_difference.h \
@@ -161,34 +267,167 @@ STD_HEADERS=     \
        __algorithm/shift_right.h \
        __algorithm/shuffle.h \
        __algorithm/sift_down.h \
-       __algorithm/sort_heap.h \
        __algorithm/sort.h \
+       __algorithm/sort_heap.h \
        __algorithm/stable_partition.h \
        __algorithm/stable_sort.h \
        __algorithm/swap_ranges.h \
        __algorithm/transform.h \
-       __algorithm/unique_copy.h \
+       __algorithm/uniform_random_bit_generator_adaptor.h \
        __algorithm/unique.h \
+       __algorithm/unique_copy.h \
        __algorithm/unwrap_iter.h \
+       __algorithm/unwrap_range.h \
        __algorithm/upper_bound.h \
+       __assert \
        __availability \
+       __bit/bit_cast.h \
+       __bit/bit_ceil.h \
+       __bit/bit_floor.h \
+       __bit/bit_log2.h \
+       __bit/bit_width.h \
+       __bit/blsr.h \
+       __bit/byteswap.h \
+       __bit/countl.h \
+       __bit/countr.h \
+       __bit/endian.h \
+       __bit/has_single_bit.h \
+       __bit/popcount.h \
+       __bit/rotate.h \
        __bit_reference \
-       __bits \
        __bsd_locale_defaults.h \
        __bsd_locale_fallbacks.h \
+       __charconv/chars_format.h \
+       __charconv/from_chars_result.h \
+       __charconv/tables.h \
+       __charconv/to_chars_base_10.h \
+       __charconv/to_chars_result.h \
+       __chrono/calendar.h \
+       __chrono/convert_to_timespec.h \
+       __chrono/convert_to_tm.h \
+       __chrono/day.h \
+       __chrono/duration.h \
+       __chrono/file_clock.h \
+       __chrono/formatter.h \
+       __chrono/hh_mm_ss.h \
+       __chrono/high_resolution_clock.h \
+       __chrono/literals.h \
+       __chrono/month.h \
+       __chrono/month_weekday.h \
+       __chrono/monthday.h \
+       __chrono/ostream.h \
+       __chrono/parser_std_format_spec.h \
+       __chrono/statically_widen.h \
+       __chrono/steady_clock.h \
+       __chrono/system_clock.h \
+       __chrono/time_point.h \
+       __chrono/weekday.h \
+       __chrono/year.h \
+       __chrono/year_month.h \
+       __chrono/year_month_day.h \
+       __chrono/year_month_weekday.h \
+       __compare/common_comparison_category.h \
+       __compare/compare_partial_order_fallback.h \
+       __compare/compare_strong_order_fallback.h \
+       __compare/compare_three_way.h \
+       __compare/compare_three_way_result.h \
+       __compare/compare_weak_order_fallback.h \
+       __compare/is_eq.h \
+       __compare/ordering.h \
+       __compare/partial_order.h \
+       __compare/strong_order.h \
+       __compare/synth_three_way.h \
+       __compare/three_way_comparable.h \
+       __compare/weak_order.h \
+       __concepts/arithmetic.h \
+       __concepts/assignable.h \
+       __concepts/boolean_testable.h \
+       __concepts/class_or_enum.h \
+       __concepts/common_reference_with.h \
+       __concepts/common_with.h \
+       __concepts/constructible.h \
+       __concepts/convertible_to.h \
+       __concepts/copyable.h \
+       __concepts/derived_from.h \
+       __concepts/destructible.h \
+       __concepts/different_from.h \
+       __concepts/equality_comparable.h \
+       __concepts/invocable.h \
+       __concepts/movable.h \
+       __concepts/predicate.h \
+       __concepts/regular.h \
+       __concepts/relation.h \
+       __concepts/same_as.h \
+       __concepts/semiregular.h \
+       __concepts/swappable.h \
+       __concepts/totally_ordered.h \
        __config \
+       __coroutine/coroutine_handle.h \
+       __coroutine/coroutine_traits.h \
+       __coroutine/noop_coroutine_handle.h \
+       __coroutine/trivial_awaitables.h \
        __debug \
+       __debug_utils/randomize_range.h \
        __errc \
+       __expected/bad_expected_access.h \
+       __expected/expected.h \
+       __expected/unexpect.h \
+       __expected/unexpected.h \
+       __filesystem/copy_options.h \
+       __filesystem/directory_entry.h \
+       __filesystem/directory_iterator.h \
+       __filesystem/directory_options.h \
+       __filesystem/file_status.h \
+       __filesystem/file_time_type.h \
+       __filesystem/file_type.h \
+       __filesystem/filesystem_error.h \
+       __filesystem/operations.h \
+       __filesystem/path.h \
+       __filesystem/path_iterator.h \
+       __filesystem/perm_options.h \
+       __filesystem/perms.h \
+       __filesystem/recursive_directory_iterator.h \
+       __filesystem/space_info.h \
+       __filesystem/u8path.h \
+       __format/buffer.h \
+       __format/concepts.h \
+       __format/container_adaptor.h \
+       __format/enable_insertable.h \
+       __format/escaped_output_table.h \
+       __format/extended_grapheme_cluster_table.h \
+       __format/format_arg.h \
+       __format/format_arg_store.h \
+       __format/format_args.h \
+       __format/format_context.h \
        __format/format_error.h \
+       __format/format_functions.h \
+       __format/format_fwd.h \
        __format/format_parse_context.h \
-       __function_like.h \
-       __functional_base \
+       __format/format_string.h \
+       __format/format_to_n_result.h \
+       __format/formatter.h \
+       __format/formatter_bool.h \
+       __format/formatter_char.h \
+       __format/formatter_floating_point.h \
+       __format/formatter_integer.h \
+       __format/formatter_integral.h \
+       __format/formatter_output.h \
+       __format/formatter_pointer.h \
+       __format/formatter_string.h \
+       __format/formatter_tuple.h \
+       __format/parser_std_format_spec.h \
+       __format/range_default_formatter.h \
+       __format/range_formatter.h \
+       __format/unicode.h \
        __functional/binary_function.h \
        __functional/binary_negate.h \
-       __functional/bind_front.h \
        __functional/bind.h \
+       __functional/bind_back.h \
+       __functional/bind_front.h \
        __functional/binder1st.h \
        __functional/binder2nd.h \
+       __functional/boyer_moore_searcher.h \
+       __functional/compose.h \
        __functional/default_searcher.h \
        __functional/function.h \
        __functional/hash.h \
@@ -208,10 +447,22 @@ STD_HEADERS=      \
        __functional/unary_negate.h \
        __functional/unwrap_ref.h \
        __functional/weak_result_type.h \
+       __fwd/array.h \
+       __fwd/get.h \
+       __fwd/hash.h \
+       __fwd/memory_resource.h \
+       __fwd/pair.h \
+       __fwd/span.h \
+       __fwd/string.h \
+       __fwd/string_view.h \
+       __fwd/subrange.h \
+       __fwd/tuple.h \
        __hash_table \
+       __ios/fpos.h \
        __iterator/access.h \
        __iterator/advance.h \
        __iterator/back_insert_iterator.h \
+       __iterator/bounded_iter.h \
        __iterator/common_iterator.h \
        __iterator/concepts.h \
        __iterator/counted_iterator.h \
@@ -222,107 +473,342 @@ STD_HEADERS=    \
        __iterator/erase_if_container.h \
        __iterator/front_insert_iterator.h \
        __iterator/incrementable_traits.h \
+       __iterator/indirectly_comparable.h \
        __iterator/insert_iterator.h \
        __iterator/istream_iterator.h \
        __iterator/istreambuf_iterator.h \
        __iterator/iter_move.h \
        __iterator/iter_swap.h \
-       __iterator/iterator_traits.h \
        __iterator/iterator.h \
+       __iterator/iterator_traits.h \
+       __iterator/iterator_with_data.h \
+       __iterator/mergeable.h \
        __iterator/move_iterator.h \
+       __iterator/move_sentinel.h \
        __iterator/next.h \
        __iterator/ostream_iterator.h \
        __iterator/ostreambuf_iterator.h \
+       __iterator/permutable.h \
        __iterator/prev.h \
        __iterator/projected.h \
        __iterator/readable_traits.h \
        __iterator/reverse_access.h \
        __iterator/reverse_iterator.h \
+       __iterator/segmented_iterator.h \
        __iterator/size.h \
+       __iterator/sortable.h \
+       __iterator/unreachable_sentinel.h \
        __iterator/wrap_iter.h \
-       __libcpp_version \
        __locale \
+       __mbstate_t.h \
        __memory/addressof.h \
+       __memory/align.h \
+       __memory/allocate_at_least.h \
        __memory/allocation_guard.h \
+       __memory/allocator.h \
        __memory/allocator_arg_t.h \
+       __memory/allocator_destructor.h \
        __memory/allocator_traits.h \
-       __memory/allocator.h \
+       __memory/assume_aligned.h \
        __memory/auto_ptr.h \
+       __memory/builtin_new_allocator.h \
        __memory/compressed_pair.h \
+       __memory/concepts.h \
        __memory/construct_at.h \
-       __memory/pointer_safety.h \
+       __memory/destruct_n.h \
        __memory/pointer_traits.h \
+       __memory/ranges_construct_at.h \
+       __memory/ranges_uninitialized_algorithms.h \
        __memory/raw_storage_iterator.h \
        __memory/shared_ptr.h \
+       __memory/swap_allocator.h \
+       __memory/temp_value.h \
        __memory/temporary_buffer.h \
        __memory/uninitialized_algorithms.h \
        __memory/unique_ptr.h \
        __memory/uses_allocator.h \
+       __memory/uses_allocator_construction.h \
+       __memory/voidify.h \
+       __memory_resource/memory_resource.h \
+       __memory_resource/monotonic_buffer_resource.h \
+       __memory_resource/polymorphic_allocator.h \
+       __memory_resource/pool_options.h \
+       __memory_resource/synchronized_pool_resource.h \
+       __memory_resource/unsynchronized_pool_resource.h \
        __mutex_base \
        __node_handle \
-       __nullptr \
+       __numeric/accumulate.h \
+       __numeric/adjacent_difference.h \
+       __numeric/exclusive_scan.h \
+       __numeric/gcd_lcm.h \
+       __numeric/inclusive_scan.h \
+       __numeric/inner_product.h \
+       __numeric/iota.h \
+       __numeric/midpoint.h \
+       __numeric/partial_sum.h \
+       __numeric/reduce.h \
+       __numeric/transform_exclusive_scan.h \
+       __numeric/transform_inclusive_scan.h \
+       __numeric/transform_reduce.h \
+       __random/bernoulli_distribution.h \
+       __random/binomial_distribution.h \
+       __random/cauchy_distribution.h \
+       __random/chi_squared_distribution.h \
+       __random/clamp_to_integral.h \
+       __random/default_random_engine.h \
+       __random/discard_block_engine.h \
+       __random/discrete_distribution.h \
+       __random/exponential_distribution.h \
+       __random/extreme_value_distribution.h \
+       __random/fisher_f_distribution.h \
+       __random/gamma_distribution.h \
+       __random/generate_canonical.h \
+       __random/geometric_distribution.h \
+       __random/independent_bits_engine.h \
+       __random/is_seed_sequence.h \
+       __random/is_valid.h \
+       __random/knuth_b.h \
+       __random/linear_congruential_engine.h \
+       __random/log2.h \
+       __random/lognormal_distribution.h \
+       __random/mersenne_twister_engine.h \
+       __random/negative_binomial_distribution.h \
+       __random/normal_distribution.h \
+       __random/piecewise_constant_distribution.h \
+       __random/piecewise_linear_distribution.h \
+       __random/poisson_distribution.h \
+       __random/random_device.h \
+       __random/ranlux.h \
+       __random/seed_seq.h \
+       __random/shuffle_order_engine.h \
+       __random/student_t_distribution.h \
+       __random/subtract_with_carry_engine.h \
        __random/uniform_int_distribution.h \
+       __random/uniform_random_bit_generator.h \
+       __random/uniform_real_distribution.h \
+       __random/weibull_distribution.h \
        __ranges/access.h \
        __ranges/all.h \
+       __ranges/as_rvalue_view.h \
        __ranges/common_view.h \
        __ranges/concepts.h \
        __ranges/copyable_box.h \
+       __ranges/counted.h \
        __ranges/dangling.h \
        __ranges/data.h \
        __ranges/drop_view.h \
-       __ranges/empty_view.h \
+       __ranges/drop_while_view.h \
+       __ranges/elements_view.h \
        __ranges/empty.h \
+       __ranges/empty_view.h \
        __ranges/enable_borrowed_range.h \
        __ranges/enable_view.h \
+       __ranges/filter_view.h \
+       __ranges/iota_view.h \
+       __ranges/istream_view.h \
+       __ranges/join_view.h \
+       __ranges/lazy_split_view.h \
        __ranges/non_propagating_cache.h \
+       __ranges/owning_view.h \
+       __ranges/range_adaptor.h \
+       __ranges/rbegin.h \
        __ranges/ref_view.h \
+       __ranges/rend.h \
+       __ranges/reverse_view.h \
+       __ranges/single_view.h \
        __ranges/size.h \
+       __ranges/split_view.h \
        __ranges/subrange.h \
+       __ranges/take_view.h \
+       __ranges/take_while_view.h \
        __ranges/transform_view.h \
        __ranges/view_interface.h \
+       __ranges/views.h \
+       __ranges/zip_view.h \
        __split_buffer \
        __std_stream \
-       __string \
        __support/android/locale_bionic.h \
        __support/fuchsia/xlocale.h \
        __support/ibm/gettod_zos.h \
-       __support/ibm/limits.h \
-       __support/ibm/locale_mgmt_aix.h \
        __support/ibm/locale_mgmt_zos.h \
        __support/ibm/nanosleep.h \
-       __support/ibm/support.h \
        __support/ibm/xlocale.h \
        __support/musl/xlocale.h \
        __support/newlib/xlocale.h \
-       __support/nuttx/xlocale.h \
        __support/openbsd/xlocale.h \
        __support/solaris/floatingpoint.h \
        __support/solaris/wchar.h \
        __support/solaris/xlocale.h \
-       __support/win32/limits_msvc_win32.h \
        __support/win32/locale_win32.h \
        __support/xlocale/__nop_locale_mgmt.h \
        __support/xlocale/__posix_l_fallback.h \
        __support/xlocale/__strtonum_fallback.h \
+       __thread/poll_with_backoff.h \
+       __thread/timed_backoff_policy.h \
        __threading_support \
        __tree \
-       __tuple \
+       __tuple_dir/apply_cv.h \
+       __tuple_dir/make_tuple_types.h \
+       __tuple_dir/pair_like.h \
+       __tuple_dir/sfinae_helpers.h \
+       __tuple_dir/tuple_element.h \
+       __tuple_dir/tuple_indices.h \
+       __tuple_dir/tuple_like.h \
+       __tuple_dir/tuple_like_ext.h \
+       __tuple_dir/tuple_size.h \
+       __tuple_dir/tuple_types.h \
+       __type_traits/add_const.h \
+       __type_traits/add_cv.h \
+       __type_traits/add_lvalue_reference.h \
+       __type_traits/add_pointer.h \
+       __type_traits/add_rvalue_reference.h \
+       __type_traits/add_volatile.h \
+       __type_traits/aligned_storage.h \
+       __type_traits/aligned_union.h \
+       __type_traits/alignment_of.h \
+       __type_traits/apply_cv.h \
+       __type_traits/can_extract_key.h \
+       __type_traits/common_reference.h \
+       __type_traits/common_type.h \
+       __type_traits/conditional.h \
+       __type_traits/conjunction.h \
+       __type_traits/copy_cv.h \
+       __type_traits/copy_cvref.h \
+       __type_traits/decay.h \
+       __type_traits/dependent_type.h \
+       __type_traits/disjunction.h \
+       __type_traits/enable_if.h \
+       __type_traits/extent.h \
+       __type_traits/has_unique_object_representation.h \
+       __type_traits/has_virtual_destructor.h \
+       __type_traits/integral_constant.h \
+       __type_traits/is_abstract.h \
+       __type_traits/is_aggregate.h \
+       __type_traits/is_allocator.h \
+       __type_traits/is_always_bitcastable.h \
+       __type_traits/is_arithmetic.h \
+       __type_traits/is_array.h \
+       __type_traits/is_assignable.h \
+       __type_traits/is_base_of.h \
+       __type_traits/is_bounded_array.h \
+       __type_traits/is_callable.h \
+       __type_traits/is_char_like_type.h \
+       __type_traits/is_class.h \
+       __type_traits/is_compound.h \
+       __type_traits/is_const.h \
+       __type_traits/is_constant_evaluated.h \
+       __type_traits/is_constructible.h \
+       __type_traits/is_convertible.h \
+       __type_traits/is_copy_assignable.h \
+       __type_traits/is_copy_constructible.h \
+       __type_traits/is_core_convertible.h \
+       __type_traits/is_default_constructible.h \
+       __type_traits/is_destructible.h \
+       __type_traits/is_empty.h \
+       __type_traits/is_enum.h \
+       __type_traits/is_final.h \
+       __type_traits/is_floating_point.h \
+       __type_traits/is_function.h \
+       __type_traits/is_fundamental.h \
+       __type_traits/is_implicitly_default_constructible.h \
+       __type_traits/is_integral.h \
+       __type_traits/is_literal_type.h \
+       __type_traits/is_member_function_pointer.h \
+       __type_traits/is_member_object_pointer.h \
+       __type_traits/is_member_pointer.h \
+       __type_traits/is_move_assignable.h \
+       __type_traits/is_move_constructible.h \
+       __type_traits/is_nothrow_assignable.h \
+       __type_traits/is_nothrow_constructible.h \
+       __type_traits/is_nothrow_convertible.h \
+       __type_traits/is_nothrow_copy_assignable.h \
+       __type_traits/is_nothrow_copy_constructible.h \
+       __type_traits/is_nothrow_default_constructible.h \
+       __type_traits/is_nothrow_destructible.h \
+       __type_traits/is_nothrow_move_assignable.h \
+       __type_traits/is_nothrow_move_constructible.h \
+       __type_traits/is_null_pointer.h \
+       __type_traits/is_object.h \
+       __type_traits/is_pod.h \
+       __type_traits/is_pointer.h \
+       __type_traits/is_polymorphic.h \
+       __type_traits/is_primary_template.h \
+       __type_traits/is_reference.h \
+       __type_traits/is_reference_wrapper.h \
+       __type_traits/is_referenceable.h \
+       __type_traits/is_same.h \
+       __type_traits/is_scalar.h \
+       __type_traits/is_scoped_enum.h \
+       __type_traits/is_signed.h \
+       __type_traits/is_signed_integer.h \
+       __type_traits/is_specialization.h \
+       __type_traits/is_standard_layout.h \
+       __type_traits/is_swappable.h \
+       __type_traits/is_trivial.h \
+       __type_traits/is_trivially_assignable.h \
+       __type_traits/is_trivially_constructible.h \
+       __type_traits/is_trivially_copy_assignable.h \
+       __type_traits/is_trivially_copy_constructible.h \
+       __type_traits/is_trivially_copyable.h \
+       __type_traits/is_trivially_default_constructible.h \
+       __type_traits/is_trivially_destructible.h \
+       __type_traits/is_trivially_move_assignable.h \
+       __type_traits/is_trivially_move_constructible.h \
+       __type_traits/is_unbounded_array.h \
+       __type_traits/is_union.h \
+       __type_traits/is_unsigned.h \
+       __type_traits/is_unsigned_integer.h \
+       __type_traits/is_valid_expansion.h \
+       __type_traits/is_void.h \
+       __type_traits/is_volatile.h \
+       __type_traits/lazy.h \
+       __type_traits/make_32_64_or_128_bit.h \
+       __type_traits/make_const_lvalue_ref.h \
+       __type_traits/make_signed.h \
+       __type_traits/make_unsigned.h \
+       __type_traits/maybe_const.h \
+       __type_traits/nat.h \
+       __type_traits/negation.h \
+       __type_traits/noexcept_move_assign_container.h \
+       __type_traits/promote.h \
+       __type_traits/rank.h \
+       __type_traits/remove_all_extents.h \
+       __type_traits/remove_const.h \
+       __type_traits/remove_const_ref.h \
+       __type_traits/remove_cv.h \
+       __type_traits/remove_cvref.h \
+       __type_traits/remove_extent.h \
+       __type_traits/remove_pointer.h \
+       __type_traits/remove_reference.h \
+       __type_traits/remove_volatile.h \
+       __type_traits/result_of.h \
+       __type_traits/strip_signature.h \
+       __type_traits/type_identity.h \
+       __type_traits/type_list.h \
+       __type_traits/underlying_type.h \
+       __type_traits/void_t.h \
        __undef_macros \
-       __utility/__decay_copy.h \
        __utility/as_const.h \
+       __utility/auto_cast.h \
        __utility/cmp.h \
+       __utility/convert_to_integral.h \
        __utility/declval.h \
+       __utility/exception_guard.h \
        __utility/exchange.h \
        __utility/forward.h \
+       __utility/forward_like.h \
        __utility/in_place.h \
        __utility/integer_sequence.h \
        __utility/move.h \
        __utility/pair.h \
        __utility/piecewise_construct.h \
+       __utility/priority_tag.h \
        __utility/rel_ops.h \
        __utility/swap.h \
        __utility/to_underlying.h \
+       __utility/unreachable.h \
        __variant/monostate.h \
+       __verbose_abort \
        algorithm \
        any \
        array \
@@ -349,6 +835,7 @@ STD_HEADERS=        \
        complex.h \
        concepts \
        condition_variable \
+       coroutine \
        csetjmp \
        csignal \
        cstdarg \
@@ -361,18 +848,19 @@ STD_HEADERS=      \
        ctgmath \
        ctime \
        ctype.h \
+       cuchar \
        cwchar \
        cwctype \
        deque \
        errno.h \
        exception \
        execution \
+       expected \
        experimental/__config \
        experimental/__memory \
        experimental/algorithm \
        experimental/coroutine \
        experimental/deque \
-       experimental/filesystem \
        experimental/forward_list \
        experimental/functional \
        experimental/iterator \
@@ -409,6 +897,7 @@ STD_HEADERS=        \
        istream \
        iterator \
        latch \
+       libcxx.imp \
        limits \
        limits.h \
        list \
@@ -417,7 +906,7 @@ STD_HEADERS=        \
        map \
        math.h \
        memory \
-       module.modulemap \
+       memory_resource \
        mutex \
        new \
        numbers \
@@ -427,7 +916,6 @@ STD_HEADERS=        \
        queue \
        random \
        ranges \
-       ranges \
        ratio \
        regex \
        scoped_allocator \
@@ -435,9 +923,11 @@ STD_HEADERS=       \
        set \
        setjmp.h \
        shared_mutex \
+       source_location \
        span \
        sstream \
        stack \
+       stdatomic.h \
        stdbool.h \
        stddef.h \
        stdexcept \
@@ -446,8 +936,8 @@ STD_HEADERS=        \
        stdlib.h \
        streambuf \
        string \
-       string_view \
        string.h \
+       string_view \
        strstream \
        system_error \
        tgmath.h \
@@ -456,6 +946,7 @@ STD_HEADERS=        \
        type_traits \
        typeindex \
        typeinfo \
+       uchar.h \
        unordered_map \
        unordered_set \
        utility \
@@ -466,6 +957,12 @@ STD_HEADERS=       \
        wchar.h \
        wctype.h
 
+# __string has moved from a file to a directory which CVS cannot
+# handle so we have to do some trickery with these
+STRING_HEADERS=        \
+       __string/char_traits.h \
+       __string/extern_template_lists.h
+
 includes:
        @echo installing ${STD_HEADERS}
 .      for hdr in ${STD_HEADERS}
@@ -476,6 +973,12 @@ includes:
        cmp -s ${CONFIG_SITE} ${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T} || \
                ${INSTALL} ${INSTALL_COPY} -D -m 444 ${CONFIG_SITE} \
                        ${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T}
+       @echo installing ${STRING_HEADERS}
+.      for hdr in ${STRING_HEADERS}
+               cmp -s ${HDRDIR}/__string.d/${hdr} ${DESTDIR}/${CXXINCLUDEDIR}/${hdr} || \
+                       ${INSTALL} ${INSTALL_COPY} -D -m 444 ${HDRDIR}/__string.d/${hdr} \
+                               ${DESTDIR}/${CXXINCLUDEDIR}/${hdr};
+.      endfor
 
 .include <bsd.lib.mk>
 
index cb19572..858699c 100644 (file)
@@ -6,37 +6,49 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef _LIBCPP_CONFIG_SITE
-#define _LIBCPP_CONFIG_SITE
+#ifndef _LIBCPP___CONFIG_SITE
+#define _LIBCPP___CONFIG_SITE
 
-/* #undef _LIBCPP_ABI_VERSION */
-/* #undef _LIBCPP_ABI_UNSTABLE */
+#define _LIBCPP_ABI_VERSION 1
+#define _LIBCPP_ABI_NAMESPACE __1
 /* #undef _LIBCPP_ABI_FORCE_ITANIUM */
 /* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
-/* #undef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT */
-/* #undef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE */
-/* #undef _LIBCPP_HAS_NO_STDIN */
-/* #undef _LIBCPP_HAS_NO_STDOUT */
 /* #undef _LIBCPP_HAS_NO_THREADS */
 /* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
-/* #undef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS */
 /* #undef _LIBCPP_HAS_MUSL_LIBC */
 /* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
 /* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
 /* #undef _LIBCPP_HAS_THREAD_API_WIN32 */
-/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */
 /* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */
 #define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
 /* #undef _LIBCPP_NO_VCRUNTIME */
 /* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */
-/* #undef _LIBCPP_ABI_NAMESPACE */
-/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */
-/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
+/* #undef _LIBCPP_HAS_NO_FILESYSTEM */
 /* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
 /* #undef _LIBCPP_HAS_NO_LOCALIZATION */
-/* #undef _LIBCPP_HAS_NO_INCOMPLETE_FORMAT */
-/* #undef _LIBCPP_HAS_NO_INCOMPLETE_RANGES */
+/* #undef _LIBCPP_HAS_NO_WIDE_CHARACTERS */
+#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
 
+// PSTL backends
+/* #undef _LIBCPP_PSTL_CPU_BACKEND_SERIAL */
+#define _LIBCPP_PSTL_CPU_BACKEND_THREAD
+/* #undef _LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH */
 
+// Hardening.
+#define _LIBCPP_ENABLE_HARDENED_MODE_DEFAULT 0
+#define _LIBCPP_ENABLE_DEBUG_MODE_DEFAULT 0
 
-#endif // _LIBCPP_CONFIG_SITE
+// __USE_MINGW_ANSI_STDIO gets redefined on MinGW
+#ifdef __clang__
+#  pragma clang diagnostic push
+#  pragma clang diagnostic ignored "-Wmacro-redefined"
+#endif
+
+
+
+
+#ifdef __clang__
+#  pragma clang diagnostic pop
+#endif
+
+#endif // _LIBCPP___CONFIG_SITE
index fcd30f8..81673e8 100644 (file)
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.4 2021/12/17 14:55:44 patrick Exp $
+# $OpenBSD: Makefile,v 1.5 2024/01/26 11:51:45 robert Exp $
 
 .include <bsd.own.mk>
 
@@ -12,6 +12,7 @@ CXX=          clang++
 HDRDIR=                ${.CURDIR}/../../../gnu/llvm/libcxxabi/include
 SRCDIR=                ${.CURDIR}/../../../gnu/llvm/libcxxabi/src
 SHDRDIR=       ${.CURDIR}/../../../gnu/llvm/libcxx/include
+SSHDRDIR=      ${.CURDIR}/../../../gnu/llvm/libcxx/src/include
 UHDRDIR=       ${.CURDIR}/../../../gnu/llvm/libunwind/include
 CXXINCLUDEDIR= /usr/include/c++/v1
 
@@ -49,14 +50,15 @@ SRCS+=              abort_message.cpp \
                libunwind.cpp
 
 CPPFLAGS+=     -Wall -I${SHDRDIR} -I${HDRDIR} -I${UHDRDIR} \
-                                               -I${LOCALHDRDIR} -I${SHDRDIR}/../
+               -I${LOCALHDRDIR} -I${SHDRDIR}/../ -I${SSHDRDIR}/../
 CPPFLAGS+=     -D_LIBUNWIND_IS_NATIVE_ONLY
 CPPFLAGS+=     -D_LIBCXXABI_BUILDING_LIBRARY
+CPPFLAGS+=     -D_LIBCPP_BUILDING_LIBRARY
 CPPFLAGS+=     -DNDEBUG
 CFLAGS+=       -nostdlib -funwind-tables
 CXXFLAGS+=     -nostdlib -nostdinc++ -funwind-tables
 .if empty(CXXFLAGS:M-std=*)
-CXXFLAGS+=     -std=c++11
+CXXFLAGS+=     -std=c++20
 .endif
 
 STD_HEADERS=   cxxabi.h \
@@ -69,7 +71,9 @@ STDDIR=               ${CXXINCLUDEDIR}
 
 STD_UHEADERS=  libunwind.h \
                __libunwind_config.h \
-               unwind.h
+               unwind.h \
+               unwind_arm_ehabi.h \
+               unwind_itanium.h
 
 .for hdr in ${STD_UHEADERS}
 USTD+=         ${hdr} ${UHDRDIR}/${hdr}
index a6349c2..89ac6ba 100644 (file)
@@ -1,3 +1,3 @@
 # Don't forget to give libc++ the same type of bump!
-major=6
+major=7
 minor=0
index 047803f..c0d09fa 100644 (file)
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.2 2021/12/17 14:55:44 patrick Exp $
+# $OpenBSD: Makefile,v 1.3 2024/01/26 11:51:45 robert Exp $
 
 .include <bsd.own.mk>
 
@@ -29,7 +29,7 @@ CPPFLAGS+=  -DNDEBUG
 CXXFLAGS+=  -nostdlib -nostdinc++ -funwind-tables \
             -fno-exceptions -fno-rtti
 .if empty(CXXFLAGS:M-std=*)
-CXXFLAGS+=  -std=c++11
+CXXFLAGS+=  -std=c++20
 .endif
 
 SRCS+=unwind.c \