summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/include/algorithm
Commit message (Collapse)AuthorAgeFilesLines
* Update libcxx to 02 June 2023 185b81e034ba60081023b6e59504dfffb560f3e3 ↵mikhnenko2024-01-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (llvmorg-16.0.5) :warning: Для всех проектов и мимо проходящим коллегам :warning: Если по каким-то причинам ваши тесты подломались, пожалуйста, переканонизируйте их сами. По статистике там просто поменялся порядок в канонизации. Если изменения действительно серьезные -- приходите в [DEVTOOLSSUPPORT](https://st.yandex-team.ru/createTicket?queue=DEVTOOLSSUPPORT) / пишите в телеграм / призывайте в тикеты, будем разбираться. ``` Changes: [libc++] Don't try to provide source_location on AppleClang 1403 [release/16.x][libc++] Revert the bitset sort optimization [libc++] Avoid ODR violations in __exception_guard [libc++][ranges] Fix incorrect integer typedef in `elements_view` test. [libc++][format] Fix a missing include in tests. [libc++][format] Fixes invalid usage of m type. [libc++][format] Fix floating point formatting. [libc++] Fix ranges::binary_search() returning true for cases where the element is not in the range [libc++] Temporarily not use compiler intrinsics for some type traits in Objective-C++ mode. [libc++][ranges] move all range iterators back in class [libcxx][ranges] revert join_view::iterator and sentinel to be in-class [libc++] Add FTM for views::as_rvalue [libc++] Fix bug in allocate_shared_for_overwrite [libc++] fix `shared_ptr`'s incorrect constraints [libc++] In tests, use `abort` to terminate upon an error. [libc++] Guard the fix to CityHash behind ABI v2 [libc++][format] Fixes constexpr validation. [libc++] Remove use of internal glibc macros to determine if c8rtomb() and mbrtoc8() are present. [libc++] Fixes the Clang modular build. [libc++][ranges] Temporarily mark `ranges::join_view` as experimental. libcxx: Don't apply ABI tags to extern "C" fns [libc++] Introduce a compile-time mechanism to override __libcpp_verbose_abort [libc++][format] Fixes usage of contiguous ranges. [libc++][doc] Updates format status. [libc++][ranges] implement `std::ranges::split_view` [libc++] implement P1020R1 P1973R1 make_unique[shared]_for_overwrite [libc++] Improve binary size when using __transaction [libc++] Rename take_while_view::__sentinel to __take_while_view_sentinel [libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine> [libc++] Implement P1413R3 (Deprecate std::aligned_storage and std::aligned_union) [libc++] Add FreeBSD XFAILs in preparation for CI [libc++] add FreeBSD atomic wait support [libc++][format] range-default-formatter for set. [libc++] Move iota_view::iterator and sentinel out of iota_view [libc++] Enable clang-tidy from the buildkite pipeline instead of hard-coding it in run-buildbot [libc++] Enable segmented iterator optimizations for join_view::iterator [libc++] Mark LWG3349 as complete [libc++] Remove old CI configurations and update the supported compiler versions [libc++] Implement P2446R2 (views::as_rvalue) [libc++][format] range-default-formatter for map [libc++][format] Adds formatter std::vector<bool>. [libc++][format] Adds container adaptor formatters. [libc++][format] Implements range_formatter [libc++][format] Adds new test macros. [libc++][ranges] Remove a leftover include version control markers in Cxx20Papers.csv [libc++][ranges] Mark completed Ranges papers and issues as done, bump version macro [libc++] Add ALLOW_RETRIES to a few flaky tests [SystemZ][z/OS] Fix cityhash lit for EBCDIC [libc++] Mark std::pmr virtual functions as _LIBCPP_HIDE_FROM_ABI_VIRTUAL [libc++] Remove <type_traits> includes from <atomic> and <ratio> [libcxx] Add missing includes [libc++] allow redefined macro in non_trivial_copy_move_ABI test [libc++][ranges] implement `std::views::elements_view` [libc++] Add [[clang::lifetimebound]] attribute to std::forward and friends Reapply "[libc++][ranges]Refactor `copy{,_backward}` and `move{,_backward}`" [libc++] Add clang-tidy to the list of possible substitutions for %{clang-tidy} [libc++] Add missing includes in move_iterator.h [libc++] Make pmr::monotonic_buffer_resource bump down [libc++] Add [[nodiscard]] extensions in <math.h> [libc++] Fix ranges::uninitialized_move{, _n} for move-only types [libc++][ranges] Fix incorrect integer type in `view_interface` tests. [libc++] Hold mutex lock while notify_all is called at notify_all_at_thread_exit [Libcxx] Add <source_location> header. [libc++] Rename transform_view::{__iterator, __sentinel} to __transform_view_{iterator, sentinel} [libc++] Add FreeBSD exceptions.nonew ABI list [libc++][format] Fixes escaping string literals. [libc++] Use _LIBCPP_HIDE_FROM_ABI_VIRTUAL instead of _LIBCPP_INLINE_VISIBILITY attribute on virtual function [libc++][test] Move `common_input_iterator` to `test_iterators.h` [libc++][utils] Remove unused import in `run.py` [libc++] Remove warning for `LIBCXX_SYSROOT`, `LIBCXX_TARGET_TRIPLE`, and `LIBCXX_GCC_TOOLCHAIN` [libc++] Fix aligned_alloc usage for Android [libc++] Use %{clang-query} when calling clang-query [libc++] Add missing include in __format/unicode.h [libc++] Remove HIDE_FROM_ABI from virtual functions [libc++] Fix transitive includes list for C++23 [libc++] Add _LIBCPP_HIDE_FROM_ABI to __constexpr_logb and __constexpr_scalbn [libc++] Granularize <bit> and remove <__bits> [libc++] [C++20] [P0415] Constexpr for std::complex. libc++: bring back the unsigned in the return type in wcstoull_l [libc++][CI] Improves clang-(tidy|query) selection. [libc++] Granularize <type_traits> includes in <iterator> [libc++] Implement constexpr {isfinite, isinf, isnan, isnormal} [libc++][chrono] Add calendar type formatters. [libc++] LWG3738 Validates a missing precondition. [libc++] LWG3745 noexcept for atomic_wait. [libc++] Granularize <type_traits> includes in <compare> std::sort: add BlockQuickSort partitioning algorithm for arithmetic types [libc++] Granularize <type_traits> includes in <utility> [libc++][format] Removes test redundancy. [libc++][format] Adds formatter for tuple and pair [libc++] Use aligned_alloc instead of posix_memalign for C++17 [libc++] Rename __tuple to __tuple_dir to avoid file collision [libc++] Add FreeBSD ABI list [libc++] Adds __cpp_lib_constexpr_algorithms to utility. [libc++] Granularize <type_traits> includes in <concepts [libc++][format] Renames __null_sentinel. Implementstd::ranges::view_interface::size returns a signed type [libc++] Implement P1169R4 (static operator()) [libc++] Implement `std::expected` P0323R12 [libc++][Android] Disable pbump2gig for Android [libc++][Android] Android/Bionic headers don't work with modules yet [libc++][math.h] Add double overloads [libc++] Move filter_view::iterator and sentinel out of filter_view [libc++] Implement P0339R6 (polymorphic_allocator<> as a vocabulary type) [libc++][format] Adds range-default-formatter. [libc++][Android] Rename user NS to User to avoid conflict with struct [libc++] Fix memory leaks when throwing inside std::vector constructors ```
* Library update 9 (#1163)AlexSm2024-01-191-8/+16
| | | | | | | * Right libs import scripts * Library update 9 * Add contrib/libs/cxxsupp/libcxx/include/memory_resource
* Library import 8 (#1074)AlexSm2024-01-181-0/+282
| | | | | * Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
* Import libs 4 (#758)AlexSm2023-12-271-0/+151
|
* Upd libc++ to 12 July 2022 81c48436bbd29736f77a111fc207e28854939907hiddenpath2023-12-061-2/+179
|
* Remove unused patchesmikhnenko2023-11-301-1/+1
|
* Upd libc++ to 01 July 2022 da1609ad73540978f66111e96ea500b97ca9b39amikhnenko2023-11-151-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Improve the formatting of static_assert messages [libc++] Remove dead code and unneeded C++03 specializations from type_traits [libc++] Implement P0618R0 (Deprecating <codecvt>) [libc++] Disentangle _If, _Or and _And Uglify __support/xlocale [libc++][format] Improve pointer formatters. [libc++][format] Improve integral formatters. [libc++] Fix signature of main() in tests [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal. [libc++] Re-add transitive includes that had been removed since LLVM 14 [libc++] Add a few missing min/max macro push/pop [libc++] Remove dummy command in Dockerfile [libc++] Use bounded iterators in std::span when the debug mode is enabled [libc++] Improve Lit's buildhost=XXXX feature on a few platforms [libc++] Simplify type_traits and use more builtins [libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple` [libc++][AIX] Make basic_string layout compatible with earlier version [libcxx][test] Suppress complex<int> warnings when testing MSVC [libc++] Add a test to pin down the set of transitive public includes [libc++][format] Copy code to new location. [libc++] Implement ranges::move{, _backward} [libc++] Implement P0154R1 (Hardware inference size) [libc++] Simplify the visibility attributes [libc++] Clarify std::function release note [libc++] Reduces std::to_chars instantiations. [libc++] Fixesbuild. [libc++] fix views::all hard error on lvalue move only views instead of SFINAE [libc++] Complete the implementation of N4190 [libc++] Remove std::function in C++03 [libc++][format] Improve string formatters [libc++] Pass -fno-modules to clang-tidy instead of disabling it for the modules build [libc++][clang-tidy] Enable bugprone-use-after-move and explicitly list all used checks [libc++] Improve charconv base10 algorithm. [libc++][format] Improves the handle test. [libc++] Implement P0174R2 (Deprecating Vestigial Library Parts in C++17) ```
* Upd libc++ to 18 Jun 2022 ff3989e6ae740a9b3adaad0e2bf7691ffd6dad12mikhnenko2023-11-071-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Add Implemented Papers section [libc++] Enable -Wweak-vtables [libc++] Make sure we install libc++abi headers on Apple [libc++] Don't force -O2 when building the benchmarks [libc++] Mark standard-mandated includes as such [libc++] Implement std::boyer_moore{, _horspool}_searcher [libc++] Unwrap reverse_iterator<reverse_iterator<Iter>> in __unwrap_iter [libc++] Simplify __config a bit [libc++][ranges] Implement `ranges::sort`. [libc++] Remove now-unused experimental/filesystem config file [libc++] Robust against C++20-hostile iterators [libc++] Implement ranges::lexicographical_compare [libc++] Removes unneeded <iterator> includes. [libcxx] Fix allocator<void>::pointer in C++20 with removed members [libcxx] Remove extraneous '---' lines in .clang-format files [libc++][NFCI] span: replace enable_if with concepts [libc++] Find a clang-format everybody is happy with [libc++] Use explicit module cache path in tests [libc++] Remove macros for IBM compiler ```
* Upd libc++ to 14 Jun 2022 1cf4113952ae3e4cc75decdf6feb3ce5dd8ca4a1mikhnenko2023-11-021-1/+87
|
* Upd libc++ to 1 Jun 2022 10c4eec2785a68880c287d36c262d5be3a72a128mikhnenko2023-10-251-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [libc++][format] Fixes string-literal formatting. [libc++] Removes __cpp_lib_monadic_optional. [libcxx] Temporarily skip Arm configs [libc++] Reduce the verbosity when running the libc++ Lit configuration [libc++] Adds __format_string as nasty macro. [libc++] Use __enable_if_t and is_integral in cstddef [libc++] Adds missing includes. [libc++] Minor emscripten changes from downstream [libc++] Granularize more of <type_traits> [libc++] Remove unused __functional includes [libc++] Add various missing _LIBCPP_HIDE_FROM_ABI [libc++] Use __libcpp_clz for a tighter __log2i function [libc++] Enable ranges_robust_against* and niebloid tests for implemented ranges algorithms [libc++] Implement ranges::is_sorted{, _until} [libc++] Time tests during CI [libc++] Implement ranges::{all, any, none}_of [libc++] Remove temporary workaround for existing CMake caches [libc++] Implement ranges::equal [libc++] Remove conditional include [libc++] Use Python subprocess instead of libc++'s own utilities [libc++] Implement ranges::fill{, _n} [libc++] Make sure that all headers can be included with modules enabled [libc++] Rename the generic-singlethreaded CI job to generic-no-threads for consistency [libc++] Implement ranges::reverse [libc++] Replace modulus operations in std::seed_seq::generate with conditional checks. [libc++] type_traits: use __is_core_convertible in __invokable_r. [libc++] Remove duplicate tests for callable concepts [libc++] Add ranges::max_element to the synopsis and ADL-proof the __min_element_impl calls [libc++] Add auto to the list of required extensions in C++03 [libc++] Assume that push_macro and pop_macro are available [libc++] Always enable the ranges concepts [libc++] Granularize parts of <type_traits> [libc++] Improve error messages for disabled modes [libc++] Override the value of LIBCXX_CXX_ABI in the cache [libc++] Granularize algorithm benchmarks [libc++] Enable move semantics for vector in C++03 [libc++][format][5/6] Improve format_to_n.
* Upd libc++ to 18 May f0e61029506fd63bb300f2dbbd65ba792e4ef3a2mikhnenko2023-10-171-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [libc++][P0943] Add stdatomic.h header. [libc++] Implement ranges::is_partitioned [libcxx] Reject month 0 in get_date/__get_month [libc++] Mark tests that use check_assertion.h as requiring unix headers [libcxx] [ci] Add a i386 Windows configuration to CI [libcxx] [test] Narrow down an XFAIL for clang-cl configurations [libcxx] [test] Extend the UNSUPPORTED lines in strong_order_long_dou… [libcxx] [test] Fix max_size.pass.cpp for other Windows architectures [libc++] Avoid a Microsoft SAL macro. [libc++] Add a few _LIBCPP_ASSERTs in __tree [libc++] Implement ranges::for_each{, _n} [libc++] Refactor max_size.pass.cpp [runtimes] Fix how we trigger CI [libc++] Overhaul how we select the ABI library [runtimes] [cmake] Fix -Werror detection in common build configs [libc++] Mark <stdatomic.h> as requiring C++23 [libcxx] Switch __cxx_contention_t to int32_t on 32 bit AIX [libc++] Remove __invalidate_all_iterators and replace the uses with … [libc++] Add a few more debug wrapper functions [libc++][ranges] Implement views::drop. [libcxx] [test] Fix the nasty_macros test on Windows on ARM/ARM64 [libcxx] Remove static inline and make use of _LIBCPP_HIDE_FROM_ABI i… [libcxx] random_device, use arc4random() on Solaris [libc++][ranges] Implement views::single. [libc++][ranges] Implement views::take. [libc++] Improve std::to_chars for base != 10. [lib++][doc] Fixes a link in the status paper. [libc++] Simplify the string structures a bit more [libc++][test] Verify std::views::drop and std::views::join are CPOs [runtimes] Introduce object libraries [libc++] Remove the legacy LIBCXX_LIBCPPABI_VERSION option [libc++] Remove overly conservative error in <stdatomic.h> [libc++] Introduce LIBCXX_LIBRARY_VERSION [libcxx] [test] Add missing header for std::numeric_limits [libcxx] [test] Include header for strverscmp [runtimes] Default LIB*_HERMETIC_STATIC_LIBRARY to ON on Windows [libc++][format] Adds a formattable concept. [libc++][format] Adds formatter<charT[N], charT>.
* Revert commit rXXXXXX, Upd libc++ to 18 May ↵mikhnenko2023-10-161-30/+0
| | | | 4ac0589122830fc6d90e0ea091300c0b979a42dc
* Upd libc++ to 18 May 4ac0589122830fc6d90e0ea091300c0b979a42dcmikhnenko2023-10-161-0/+30
|
* Update libc++ to 1 May 2022 639b9618f46d75f4dabd2082b3f6ba8433c287bfmikhnenko2023-10-141-1/+79
|
* Upd libc++ to 0cc34ca7ecfc9d0efee322f60ed6c3169f4f70ca (12 Apr 2022)mikhnenko2023-10-111-6/+80
|
* Upd libc++ to 95a2527261443729a398e16bc7dc6dd325fc2691 (29 Mar 2022)mikhnenko2023-10-061-2/+15
|
* Upd libc++ to d0af4276d62418ba9e54fec99b293d2fd7c92213 (14 Mar 2022)mikhnenko2023-09-271-1/+44
|
* Udp libc++ for 2 days with fake-id changesmikhnenko2023-09-221-3/+11
|
* Update libc++ to 8f0b2ac1 (12 Feb 2022).Andrey Khalyavin2022-06-241-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | Notable changes: * use [[no_unique_address]] for field `__base_` in join_view * remove _LIBCPP_HIDE_FROM_ABI from __threading_support functions * remove __functional_base header which is just a set of #include directives * remove unused include in ranges_swap_ranges.h * do not print bools with "c" format. * add noexcept to basic_format_context::arg constructor * add ranges::min_element * add ranges::in_fun_result * add ranges::swap_ranges * add std::vector::reference::operator=(bool) const * replace _LIBCPP_DEBUG with _LIBCPP_DEBUG_LEVEL * fix constexpr in __debug_less * modernize code in compress_pair.h * add permutable concept * cleanup format headers * remove _LIBCPP_ABI_UNSTABLE, we must set _LIBCPP_ABI_VERSION and _LIBCPP_ABI_NAMESPACE outselves now * make some members private in experimental/functional * remove std::nullptr_t emulation in C++03 mode ref:f3c7583f32067a3dd9da42aeb15f1b01d746dc59
* Update libc++ to 24c12bfb (5 Feb 2022).Andrey Khalyavin2022-06-091-3/+3
| | | | | | | | | | | | | Notable changes: * make _LIBCPP_ABI_UNSTABLE set _LIBCPP_ABI_VERSION * replace include utility with specific includes in __utility folder * disallow ranges:begin for array of incomplete types * move fpos to separate header * delete optional usage of type builtins that were never implemented * define ranges::views namespace in its own header * remove base class of the vector ref:1d141d911ba017f306cca431c3b56c25d495e54e
* Update libc++ to eaadc451 (4 Feb 2022).Andrey Khalyavin2022-06-021-1/+9
| | | | | | | | | | | | | | | | | | | | | | | Notable changes: * fix chrono::duration constructor constraint * delete base class for std::basic_string * add ranges::in_out_out_result and ranges::in_in_out_result * implement indirectly_copyable{,_storable} concepts * rename __referenceable to __can_reference to match text of the standard * add _LIBCPP_HAS_NO_CONCEPTS guards where concepts are used * simplify no concepts guards * add specifications for basic_common_reference and common_type for pair * make _VSTD an alias for std so that it can be removed in the future * remove std from friend declaration to facilitate switch from _VSTD to std * fix TOCTOU issue with std::filesystem::remove_all * add additional constraints to std::ranges::get for subranges when N == 0 * pick unique bit for __regex_word constant * use vsnprintf instead of _vsnprintf on Windows * ADL-proof ranges::iter_swap and ranges::iter_move * implement std::ranges::distance * merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS ref:b637aa39f39243eeac99a2109af1daaac7c29316
* Update libc++ to b6d87773 (14 Jan 2022).Andrey Khalyavin2022-04-151-0/+6
| | | | | | | | | | | | | | | | Notable changes: * implement operator << for filesystem::directory_entry * add std::ranges::in_in_result * add std::ranges::owning_view * add std::ranges::cdata * add std::ranges::construct_at and destroy{,_n,_at} * small fixes in std::ranges::data * SFINAE away std::ranges::cbegin(const T&&) for non-borrowed T * use arc4random to implement std::random_device on Apple * introduce __fits_in_sso to put constexpr check into a central place * introduce __debug_db_insert_c to put #if and constexpr check into a central place ref:b3dd06bd52f06e8939227ca0f0a5873d0c211e48
* Update libc++ to 8d23b742 (11 Jan 2022).Andrey Khalyavin2022-04-071-3/+10
| | | | | | | | | | | | | | Notable changes: * implement in_out_result in ranges * implement uninitialized_copy{,_n} and uninitialized_move{,_n} in ranges * use _LIBCPP_DEBUG_ASSERT in list * alphabetize header includes. * use Fuchsia-native monotonic clock for std::chrono::steady_clock * properly handle specializations of std::is_placeholder * add __cpo namespace to ranges::{advance, next, prev} for ADL reasons * add template lerp function ref:1cc313d57e8757bed1d0950624d0c3a2b7da8a4f
* intermediate changesarcadia-devtools2022-04-031-3/+1
| | | | ref:8fcd56b3fe762902848ae3f9eabb01e1aa97432c
* intermediate changesarcadia-devtools2022-03-011-1/+1
| | | | ref:ca7f4ea59c35451f4846b211a4122df6ab12b4df
* Restoring authorship annotation for Andrey Khalyavin <[email protected]>. ↵Andrey Khalyavin2022-02-101-759/+759
| | | | Commit 2 of 2.
* Restoring authorship annotation for Andrey Khalyavin <[email protected]>. ↵Andrey Khalyavin2022-02-101-759/+759
| | | | Commit 1 of 2.
* Restoring authorship annotation for <[email protected]>. Commit 2 of 2.danlark2022-02-101-4/+4
|
* Restoring authorship annotation for <[email protected]>. Commit 1 of 2.danlark2022-02-101-4/+4
|
* Restoring authorship annotation for Mikhail Borisov ↵Mikhail Borisov2022-02-101-2/+2
| | | | <[email protected]>. Commit 2 of 2.
* Restoring authorship annotation for Mikhail Borisov ↵Mikhail Borisov2022-02-101-2/+2
| | | | <[email protected]>. Commit 1 of 2.
* intermediate changesDevtools Arcadia2022-02-071-0/+765
ref:cde9a383711a11544ce7e107a78147fb96cc4029