summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/include/__algorithm
Commit message (Collapse)AuthorAgeFilesLines
* Update libcxx to 20 June 2025mikhnenko2026-03-194-31/+57
| | | | commit_hash:a70bc4475f605923ff712284d85f5bb6b1912759
* Update libcxx to 28 May 2025mikhnenko2026-03-102-7/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Fix build failure with libdispatch backend (#141606) [libcxx][docs] Fix bullet point in Additional Tools section [libcxx] [test] Change an MSVC mode XFAIL into UNSUPPORTED (#141609) [libc++] Fix directory name in libcxx rand.dist tests path (#140160) [libc++] Bump the docker image hash (#140517) [libcxx] [test] Extend mingw target checks to cover the arm64ec architecture too (#141227) [libc++] Optimize bitset::to_string (#128832) [libc++] Optimize std::for_each_n for segmented iterators (#135468) [libc++] Make ABI annotations explicit for windows-specific code (#140507) [libc++] Add explicit ABI annotations to functions from the block runtime declared in <__functional/function.h> (#140592) [libc++] Optimize std::getline (#121346) [libc++] Bump GCC_HEAD_VERSION to 16 [libc++] Implements the new FTM header test generator. (#134542) [libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156) [libc++] Fix set::operator= when instantiating with a std::pair (#140385) [libc++] Don't instantiate allocators in __tree on an incomplete type (#140225) [libc++] Fix flat_{multi}set insert_range (#137462) [libc++] Reject abilist if it contains an ABI tag (#139030) [libcxx] applies #134819 to `insert_or_assign` with `const key_type&` (#140124) [libc++] Fix typos in documentation (#139853) [libc++] Add basic constant folding for std::format (#107197) [libc++] run clang-tidy on src/ in the CI (#121198) [libc++] Avoid type-punning between __value_type and pair (#134819) [libc++] Refactor and add benchmark coverage for [alg.sort] (#128236) [libc++] Improve test coverage and readability for swap_ranges (#133752) [libc++] Enable the GDB pretty printers for Clang (#135484) [libc++][C++03] Remove macros that expand to nothing (#134046) [libc++] Remove the constexpr `hash<vector<bool>>` extension (#132617) [libcxx] Fix a comment link for the unicode NBSP char. NFC. (#139692) [libc++] Work around new GCC 15 type_traits builtins that can't be used as Clang's can (#137871) [libc++][format] Discard contents since null-terminator in character arrays in formatting (#116571) [libc++] Simplify the implementation of std::get for pairs (#114984) [libc++] Fix missing #includes (#130536) [libc++] Improve test coverage for containers' scary.pass.cpp (#131550) [libc++] Documentation polish (#132962) [cmake] Normalize TARGET_SUBDIR paths (#138524) [libc++] Fix use of std::errc() for C++ < 11 (#138522) [libc++] Fix disabling of extension warnings in C++20 and later (#134989) [libc++] Use __is_address_in_range in vector (#139032) [libc++] Simplify __promote (#136101) [libc++] Add test for flat_set::insert not creating temporaries (#138387) [libc++] Add the __is_replaceable type trait (#132408) [www][docs] Remove last mentions of IRC (#139076) [libc++][Android] Disable fdsan in filebuf close.pass.cpp (#102412) [libc++] Implement P3379R0 Constrain `std::expected` equality operators (#135759) [libc++][docs] Confirm that P3136R1 Retiring niebloids is Complete (#135932) [libc++] Reword release note section about future releases (#138544) [libc++] Reword std::advance assertion message for consistency with ranges::advance (#138749) [libc++] Remove a few unnecessary branches from basic_string::find (#137266) [libc++] Add _LIBCPP_NO_UNIQUE_ADDRESS to flat_{,multi}map::value_compare (#137594) [libc++][test] Test `flat_meow` with proper underlying iterators (#131290) [libcxx][CMake] Use the right variable in the C library error message (#138458) [libc++] Remove redundant and somewhat confusing assertions around advance() (#133276) [libc++] Improve the test coverage for std::vector::emplace (#132440) [libc++] Enable sized deallocation when building operator new shims on Apple (#134152) [libc++][C++03] Remove code that is not used in C++03 (#134045) [libc++] Re-introduce _LIBCPP_DISABLE_AVAILABILITY (#134158) [libc++][CI] Use latest Docker image. (#132539) [libc++] Remove a few unused includes from <__bit/*> (#137934) [libc++] Simplify the implementation of is_unbounded_array a bit (#137716) [libc++][pair] P2944R3: Constrain `std::pair`'s equality operator (#136672) [libc++] Remove dead implementation of is_nothrow_convertible and merge the remaining code into is_convertible.h (#137717) [libc++][CI] Improves updating Docker image. (#134497) [libc++] Make bad_function_call::what() existence a matter of availability instead of ABI (#127697) [libc++] Use __array_rank in Clang versions without any known bugs (#136103) [libcxx] [test] Clarify the condition for long double hex formatting (#135334) Optimize std::__tree::__assign_multi to insert the provided range at the end of the tree every time (#131030) [libc++][ranges] Reject non-class types in ranges::to (#135802) [libcxx] [test] Extend mingw workarounds for armv7/aarch64 too (#136419) ``` commit_hash:b16e76e79ed376b0ab4773b99425f924e6525432
* Update libcxx to 19 Apr 2025mikhnenko2026-03-0417-143/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Backport segmented iterator optimization for std::for_each to C++11 (#134960) [libc++] Properly decay functions in CTAD for `pair` (#134544) [libc++] Replace __libcpp_{ctz, clz} with __builtin_{ctzg, clzg} (#133920) [libc++] Make __config_site modular (#134699) [libc++] Simplify the generic implementation of is_{un}signed (#136095) [libc++] Extend the scope of radix sorting inside std::stable_sort to floating-point types (#129452) [libc++] Implement P2897R7 aligned_accessor: An mdspan accessor expressing pointer over-alignment (#122603) [libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494) [libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937) [libc++] Use __underlying_type directly in underyling_type_t (#135423) [libc++][test] Test `nasty_string` in C++20 (#135338) [libc++][doc] Updates the release notes. [libc++] Adds is_implemented function for new ftm generator. (#134538) [libc++] A quick-fix for the Apple CI. (#135202) libcxx: In gdb test detect execute_mi with feature check instead of version check. [AMDGPU] Fix code object version not being set to 'none' (#135036) [libc++][doc] Removes LLVM 19 Release Notes. (#134894) [libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885) [libc++][C++03] Remove headers which don't provide anything (#134044) [libc++] P3247R2: Deprecate `is_trivial(_v)` (#130573) [libc++] Fix misplaced _LIBCPP_POP_MACROS (#134874) [libc++] Remove _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS (#111964) [libc++] Use __add_pointer and __remove_pointer builtins when they are fixed (#134147) [libc++] Fix a comment typo in __tree (#134831) [clang] fix diagnostic printing of expressions ignoring LangOpts (#134693) [libc++] Improve diagnostic when violating `std::atomic` trivially copyable mandates (#131754) [libc++] Clang-tidy operator& hijacker. (#128366) [libc++][ci] Removes C++2b selection option. (#88557) [libc++] Implement `std::flat_multiset` (#128363) [libc++] Bump OS version for macOS backdeployment CI jobs (#131883) [libc++] Implement ranges::iota (#68494) [libc++] Fix deployment targets that were incorrectly bumped (#134278) [libc++] Guard additional headers with _LIBCPP_HAS_LOCALIZATION (#131921) [libc++] Add missing release note for LLVM 20 about zip_view (#134144) [libc++][type_traits] `reference_{constructs|converts}_from_temporary` with `-Winvalid-specialization` tests (#133946) [libc++] Add visibility annotations to the std namespace with GCC (#133233) [libc++] Fix ambiguous call to std::max in vector<bool> (#119801) [clang] improved preservation of template keyword (#133610) [libc++] Switch a few attribute to use the C++11 syntax (#133293) [libc++] fix `flat_set`'s transparent `insert` (#133402) [libc++] Unify __can_reference and __is_referenceable_v (#133278) [libc++] Remove friend declarations from __tree (#133237) [libcxx] Remove clang-18 workaround in picolib build (#133254) [Clang][AMDGPU] Remove special handling for COV4 libraries (#132870) [libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079) [libc++] Remove official Clang 18 support. (#130142) [libc++] Refactor ranges::{min, max, min_element, max_element} to use std::__min_element (#132418) [libc++] Instantiate hash function externally (#127040) [libc++] Introduce unversioned namespace macros (#133009) [libc++][ranges] Adjust inheritance detection for `enable_view` (#132582) [libc++] Verify std::forward_like's mandates clause. (#127318) [libcxx] [test] Fix restoring LLVM_DIR and Clang_DIR (#132838) [libc++] Add GitHub usernames for Linaro managed bots (#133120) [libc++] Remove unnecessary division and modulo operations in bitset (#121312) [libc++] Use __detected_or_t to implement __has_iterator_{category,concept}_convertible_to (#124456) [libc++] Update the status for LWG3120 (#116772) [libc++] Re-implement LWG2770 again * 2 (#132598) [libc++] Make sure that __desugars_to isn't tripped up by reference_wrapper, const and ref qualifiers (#132092) [libc++] Rename __construct_one_at_end to __emplace_back_assume_capacity (#132276) [libcxx] Put `std::monostate` in `<utility>` (#128373) [libc++] Always build the dylib with hidden visibility (#131313) [libc++] Ensure that we vectorize algorithms on all Clang-based compilers (#132090) [libc++] Documentation for _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#130560) [libc++] Add __assertion_handler to the modulemap (#131031) [libc++] Add benchmarks for partitioning algorithms (#127324) [libc++] Simplify the implementation of __is_referenceable (#130043) [libc++] Remove one of the std::signbit overloads (#130505) [libc++] Add [[gnu::nodebug]] on type traits (#128502) [libc++] implement std::flat_set (#125241) [libc++][test] Small fixes for time tests (#132532) [libc++][CI] Adds GCC trunk image. (#132271) [libc++][chrono] Adds a missing main include. (#132100) [libc++][test] Guard uses of `_LIBCPP_HAS_THREADS` in FTM tests (#132258) [libc++] Bump `__cpp_lib_constexpr_algorithms` for P2562R1 in C++26 (#132075) [libc++] Add coverage for C++17 and Clang Modules with LSV (#131815) [libc++] Improve test coverage for copy/move ctors for vector<bool> (#120132) [libc++][test] Fix issues found by MSVC's STL (#131787) [libc++][docs] Minor update to the benchmark documentation [libc++] Implement part of P2562R1: constexpr `ranges::inplace_merge` (#131947) [libc++][CI] Use latest Docker image. (#130497) [libc++] Verify forward_list self-merging is a no-op (#129985) [libc++] Use __alloc_traits in <deque> whenever it is available for consistency (#126595) [libc++] Validate vector<bool> copy/move-assignment operators in realistic scenarios (#119817) [libc++] Fix copy_backward for vector<bool> with small storage types (#131560) [libc++] Fix {std, ranges}::copy for vector<bool> with small storage types (#131545) [libc++] Fix {std, ranges}::equal for vector<bool> with small storage types (#130394) [libc++] Fix ambiguous call in {ranges, std}::count (#122529) [libc++] Refactor and add benchmarks from [alg.nonmodifying] (#128206) [libc++] Implement part of P2562R1: constexpr `std::inplace_merge` (#129008) ``` commit_hash:73ae0722f4f8aea0ed05ca4c13ded3717eb1c584
* Update libcxx to 18 Mar 2025mikhnenko2026-02-1912-27/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Improve deprecated diagnostic guards. [libc++] Guard call_once against operator hijacking. (#128054) [libc++] Remove redundant assignments in bitset string-like constructors (#121424) [libc++] Fix allocate_at_least test that assumes the size_type of the allocator (#131682) [libc++] Fix check for _LIBCPP_HAS_NO_WIDE_CHARACTERS in features.py (#131675) [libc++] Add remaining benchmarks from [alg.modifying.operations] (#127354) [libc++][test] Adds a test for a reserved name. (#131363) [libc++][test] Skip a `is_virtual_base_of` test for apple-clang-17 (#131438) [libc++][test] Skip some `is_implicit_lifetime` tests for apple-clang-17 (#131302) [libc++] Fix ambiguous call in {ranges, std}::find (#122641) [libc++] Optimize ranges::rotate for vector<bool>::iterator (#121168) [regex] fix uncaught exception when string is like "\\_" (#129348) [libc++] Add `-Watomic-memory-ordering` diagnostic tests for `atomic_ref` (#130206) [libc++][docs] Remove mis-added entry for P2513R4 (#130581) [libc++][CI] Update action runner base image. (#130433) [libc++] Protect more code against -Wdeprecated. (#130419) [libc++][type_traits] Implements "A type trait to detect reference binding to temporary" (#128649) [libc++] Deprecate `is_pod(_v)` since C++20 (#129471) [libc++] Implement part of P2562R1: constexpr `ranges::stable_sort` (#128860) [libc++] Remove identity casts in <{forward_,}list> (#130049) [libc++] Remove a few unused includes from <__concepts/*> (#129883) [libc++] Verify that LWG4140 is implemented (#128624) [libc++] Implement part of P2562R1: constexpr `ranges::stable_partition` (#129839) [libcxx] Export directory_iterator in module build (#129195) [libc++] Optimize num_put integral functions (#120859) [libc++] Add missed `constexpr` to `erase(_if)` in `<string>` (#129666) [libc++] Optimize ranges::swap_ranges for vector<bool>::iterator (#121150) [libc++] Remove a few unused includes in <utility> headers (#129674) [libc++] Implement part of P2562R1: constexpr `std::stable_partition` (#128868) [libc++] Fix assignment in insertion into `vector` (#116001) [libc++][test] extend XFAIL clauses to cover Amazon Linux too (#129377) [libc++] Fix `money_get::do_get` with huge input (#126273) [libc++][chrono][doc] Use stable names in synopsis. (#129381) [libc++][format] Enables formattable tests for chrono formatters. (#128356) [libc++] Implement LWG3990 for Clang (#128834) [libc++][test] XFAIL for FreeBSD in thread_create_failure.pass.cpp (#129413) [libc++] Add tests for gcd that result in something other than zero or one (#129395) [libc++] Prohibits initializer_list specializations. (#128042) [libc++] Implements LWG3600 Making istream_iterator copy constructor trivial is an ABI break (#127343) [libcxx] Provide locale conversions to tests through lit substitution (#105651) [libc++] Guard <codecvt> contents on _LIBCPP_HAS_LOCALIZATION (#129112) [libc++] Mark _XOPEN_SOURCE test as unsupported on FreeBSD (#128950) [libc++] Enable algorithm vectorization on arm neon (#128873) [libc++][test] extend -linux-gnu XFAIL to cover all of the -linux targets (#129140) [libc++] Fix the locale base API on Linux with musl (#128936) [libc++] Diagnose when nullptrs are passed to string APIs (#122790) [libc++] Silence CMake's install messages in the CI (#128872) [libcxx] Add LWG4135: The helper lambda of std::erase for list should specify return type as bool (#128358) [libc++] Optimize ranges::equal for vector<bool>::iterator (#121084) [libc++][test] Refactor tests for rotate and rotate_copy (#126458) [libc++][format] Disables narrow string to wide string formatters. (#128355) [lib++][print] Don't pad the ostream output. (#128354) [libc++] Updates ostream's println LWG status. (#128214) [libc++][test] Refactor tests for ranges::swap_range algorithms (#121138) [libc++][test] Augment ranges::{fill, fill_n, find} with missing tests (#121209) Simplify flip() for std::bitset (#120807) Exclude hwasan from thread_create_failure.pass.cpp (#128768) [libc++] Make .verify.cpp tests more robust against changing headers (#128703) [libc++] Don't try to wait on a thread that hasn't started in std::async (#125433) [libc++] Use the new locale base API on Linux (#128007) [libc++] Synchronize Docker container SHA in run-buildbot-container (#128225) [libc++] Fix basic_string not allowing max_size() elements to be stored (#125423) [libc++] Fix shrink_to_fit to swap buffer only when capacity is strictly smaller (#127321) [libcxx] Enable localization for the GPU in the config files (#128224) [libc++] std::atomic primary template should not have a `difference_type` member type (#123236) [libc++][chrono] implements GPS clock. (#125921) [libc++] Re-enable the FreeBSD CI job (#127687) [libc++] Qualify calls to nullary functions like __throw_foo (#122465) [libcxx] Work around picolibc argv handling in tests. (#127662) [libc++] Reduce the dependency of the locale base API on the base system from the headers (#117764) [libc++] Add benchmarks for copy algorithms (#127328) Apply clang-format to bitset_test_cases.h to make PR#120807 cleaner [libc++][test] Refactor tests for std::{copy, move, fill} algorithms (#120909) [libc++] Optimize ranges::move{,_backward} for vector<bool>::iterator (#121109) [libc++] Avoid code duplication in strings operator+ overloads (#126048) [libc++] Deprecate and remove member types of `hash` in `<variant>` (#127758) [libc++] Guard include of <features.h> with __has_include (#127691) [libc++] Set feature-test macro `__cpp_lib_atomic_float` (#127559) [libc++] Add Hagenberg issues and papers to the Status pages (#127510) [libc++][TZDB] Improves system time zone detection. (#127339) [libc++] Updates the compilers used post branching. (#126564) [libc++] Do not guard inclusion of wchar.h with _LIBCPP_HAS_WIDE_CHARACTERS (#126924) [libc++] Document that libc++ does not and will never implement the Networking TS (#127508) [libc++][TZDB] Fixes mapping of nonexisting time. (#127330) [libc++] Synchronize a few remaining status page rows with Github issues [libc++] Synchronize status pages with Github issues list [libc++] Add watchOS and tvOS checks for aligned_alloc (#126862) ``` commit_hash:0fe92794332887531b208345c6646cabf16dc21f
* Update libcxx to 16 Feb 2025mikhnenko2026-02-157-35/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Fix initialization-order-fiasco with iostream.cpp constructors (#126995) [libc++] Fixes (|multi)_set spaceship operator. (#127326) [libc++] Move unused basic_string function definition to the dylib sources (#126219) [libc++] Avoid including <features.h> on arbitrary platforms (#125587) [libc++][format] Disables the FTM on older MacOS versions. (#126547) [libcxx] Add a missing include for __enable_if_t (#127016) [libcxx] Add a missing include for __bit_iterator (#127015) [libc++] Remove conditional for attributes that are always available (#126879) [libc++] Remove obsolete guards for join_view being experimental (#126697) [libc++] Extract destroy algorithms into separate headers (#126449) [libc++][chrono] implements TAI clock. (#125550) [libc++] Remove basic_string::__clear_and_shrink (#126050) [libc++] Support constexpr for std::stable_sort in radix sort branch (#125284) [libc++] Replace __is_trivially_relocatable by is_trivially_copyable (#124970) [lib++][Format] Updates Unicode database. (#125712) [libc++] Fix UB in bitwise logic of {std, ranges}::{fill, fill_n} algorithms (#122410) [libc++] Also provide an alignment assumption for vector in C++03 mode (#124839) [libc++] Fix stray usage of _LIBCPP_HAS_NO_WIDE_CHARACTERS on Windows [libc++][TZDB] Fixes %z escaping. (#125399) [libc++] Decrease instantiation cost of __constexpr_memmove (#125109) [libc++] Implement N4258(Cleaning-up noexcept in the Library) (#120312) [libc++] Optimize ranges::copy_backward for vector<bool>::iterator (#121026) [libc++] Optimize ranges::copy{, _n} for vector<bool>::iterator (#121013) [libc++] Refactor num_get optimization to not be ABI breaking (#121690) [libc++] Simplify the implementation of iostream.cpp (#124103) [libc++] Simplify vector<bool>::__construct_at_end (#119632) [libc++] Remove some private symbols from the ABI (#121497) [libcxx] Use _ftelli64/_fseeki64 on Windows (#123128) [libc++] Disable CFI in __libcpp_allocate (#124805) [libc++] Remove Android header no longer in use (#124691) [libc++] Add more missing bits to the locale base API (#122531) [libc++] implement std::flat_multimap (#113835) [libc++][format][3/3] Improves formatting performance. (#108990) [libc++] Reduce std::conjunction overhead (#124259) [libc++][chrono] implements UTC clock. (#90393) [libc++] Switch experimental library macros to 0/1 macros (#124030) [libc++] Use [[clang::no_specializations]] to diagnose invalid user specializations (#118167) [libc++] Inline basic_streambuf functions (#123379) [libc++] Remove a few unused includes (#124025) [libc++] Remove support for Android 4 and older (#124062) [libc++] Avoid unnecessary instantiations for __copy_cvref_t (#123718) [libc++] Fix input-only range handling for vector (#116157) [libc++] Fix input-only range handling for basic_string (#116890) [libc++] Fix no-op shrink_to_fit for vector<bool> (#120495) [libc++] Another _LIBCPP_NODEBUG fix [libc++] Add missing _LIBCPP_NODEBUG on internal alias [libc++] Define an internal API for std::invoke and friends (#116637) [libc++] Fix vector sanitization annotations on destruction (#121031) [libc++] remove yield from atomic::wait (#120012) [libc++] Don't implement <stdatomic.h> before C++23 (#123130) [libc++] Enable _LIBCPP_NODEBUG again (#123318) [libc++] Simplify when the sized global deallocations overloads are available (#114667) ``` commit_hash:c4dee431e33408d110c123c1ea677d3897276e0e
* Update libcxx to 14 Jan 2025mikhnenko2026-02-1133-103/+458
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Remove unused _LIBCPP_HAS_NO_TREE_BARRIER macro and associated dead code (#122769) [libc++] Optimize input_iterator-pair `insert` for std::vector (#113768) [libc++] Fix ambiguity due to non-uglified member typedefs (#121664) [libc++] Fix `tuple_cat` for element with unconstrained constructor (#122433) [libc++] Make std::stable_sort constexpr friendly (#110320) [libc++] Stop copying headers to the build directory (#115380) [libc++][test] Add exception tests for vector capacity operations (#118141) [libcxx] Don't hold the lock when calling notify_* on gates in std::shared_mutex (#107876) [libc++] Redefine Fuchsia locale base support on top of the new API (#122489) [libc++] Deprecate extension `packaged_task::result_type` (#122600) [libc++] Pass type information down to __libcpp_allocate (#118837) [libc++] Replace stable_sort with sort in flat_map (#121431) [libc++] Improve diagnostic when failing to parse the tzdb (#122125) [libc++] Fix bug in tests for std::atomic_ref<T*> increment and decrement operators (#122271) [libc++] Add missing iswctype_l in posix_l_fallbacks (#122484) [libc++] Implement a libc++ private version of isascii (#122361) [libc++] Implement std::not_fn<NTTP> (#86133) [libc++] Remove duplicated _LIBCPP_HIDE_FROM_ABI from a few declarations (#122323) [libc++] Remove obsolete bsd_locale_defaults.h (#122276) [libc++][chrono] Entirely remove relational operators for `std::chrono::weekday` (#122428) [libc++] Disable _LIBCPP_NODEBUG temporarily (#122393) [libc++] Add missing _LIBCPP_NODEBUG on internal aliases [libcxx][algorithm] Optimize std::stable_sort via radix sort algorithm (#104683) [libc++] Fix mi-mode in GDB pretty printers (#120951) [libc++] Fix test for vector data_const.pass.cpp (#122085) [libc++] Add __iswctype to the locale base API since it's required by <locale> (#122168) [libc++] Fix erroneous internal capacity evaluation in vector<bool> (#120577) [libc++] Uglify non-standard member typedef const_reference in bitset (#121620) [libcxx] Handle windows system error code mapping in std::error_code. (#93101) [libc++] Add _LIBCPP_NODEBUG to __unwrap_ref_decay_t [libc++] Put _LIBCPP_NODEBUG on all internal aliases (#118710) [libc++] Add missing hardening checks and tests for vector<bool> (#121366) [libc++] Fix documentation for setting hardening ABI macros (#121946) [libcxx] Use alias for detecting overriden function (#120805) [libc++] Mark vector<bool>::at() as constexpr to conform to C++20 standard (#121848) [libcxx] Fix build for glibc < 2.27 (#121893) [libc++] Add new utilities to compare benchmark results between builds (#120743) [libc++] Improve coverage of std::atomic_ref<T>::exchange() (#121596) [libc++] Fix largefile handling in fs::copy_file (#121855) [libc++][hardening] Add checks to `forward_list` element access. (#120858) [libc++] Use copy_file_range for fs::copy (#109211) [libc++] Fix the batch size used in the std::gcd benchmark (#120618) [libc++] Simplify unwrap_ref_decay a bit (#121623) [libc++] Remove abandoned __append declaration in vector<bool> (#121673) [libc++] Run clang-tidy only once per header (#121436) [libc++] Make __type_list variadic (#121117) [libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685) [libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049) [libcxx] Fix the #endif comments (#120949) [libcxx] Remove the second inclusion of the system header (#120946) [libc++] Refactor some code in monotonic_buffer_resource (#117271) [libc++] Mark num_get.bench.cpp as unsupported in C++03 [libc++] Mark P0270R3 as Nothing To Do [libc++] Mark N4089 as complete [libc++] Mark P0175R1 as 'Nothing To Do' [libc++] Don't declare pmr::polymorphic_allocator before C++17 (#120850) [libc++] Switch _LIBCPP_NODEBUG to [[gnu::nodebug]] (#120720) [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002) [libc++] Remove allocation.bench.cpp (#120767) [libc++] Remove the need for `uselocale()` (#120158) [libc++] Simplify vector<bool>::flip() and add new tests (#119607) [libc++] Remove some unused includes (#120219) [libcxx] Support for using timespec_get (#117362) [libcxx] Use alias for detecting overriden function (#114961) [libc++] Remove explicit mentions of __need_FOO macros (#119025) [libc++] Granularize <new> includes (#119964) [libc++] Refactor the Windows and MinGW implementation of the locale base API (#115752) [libc++] Disable deprecation warnings in derived_from_integral_constant.compile.pass.cpp [libc++] Add a test to make sure all the type traits derived from bool_constant [libc++] Introduce __forward_as (#118168) ``` commit_hash:d2b931c7b22a91f74792c7f91c3485782b7419c5
* Update libcxx to 13 Dec 2024mikhnenko2026-02-0511-42/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Granularize the <new> header (#119270) [libc++] Fix improper static_cast in std::deque and __split_buffer (#119106) [libc++] Properly guard flat_map includes based on C++ version (#119227) [libc++] Fix test FTM header guard [libc++][C++03] Add #if 0 to the experimental/ and ext/ headers as well (#119541) [libc++][test] Fix invalid const conversion in limited_allocator (#118189) [libc++] Add #if 0 block to all the top-level headers (#119234) [libcxx][test] Silence nodiscard warnings for `std::expected` (#119174) [libc++] Add missing assertion in std::span constructor (#118396) [libc++][C++03] Update include guards (#109001) [libc++] Move out `flat_map::iterator` (for reusing it in flat_multimap) (#117445) [libc++] Extract a clean base support API for std::atomic (#118129) [libc++] Add _LIBCPP_NODEBUG on internal allocator trait aliases (#118835) [libc++] Fix sub-overflow in std::gcd implementation (#117984) [libc++] Fix unintended ABI break in associative containers with reference comparators (#118685) [libc++][test] Refactor increasing_allocator (#115671) [libc++] Drop dependency on __functional/operations.h from <atomic> (#117302) [libc++] Add Wroclaw straw polls (#118116) [libc++] Fix malformed CSV entry for C++26 LWG issue [libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453) [libc++] Add coding guidelines to the docs (#117051) [libc++] Use the __strtoNUM functions from __locale instead of the old API (#118029) Optimize vector::assign for InputIterator-only pair inputs (#113852) [libc++] Remove the pointer safety functions from the dylib (#117390) [libc++] Add exception guard for vector<bool>::__init_with_sentinel (#115491) [libc++] Refactor atomic_wait using lambdas (#115746) [libc++] Add __detected_or_t and use it to implement some of the allocator traits aliases (#115654) [libc++] Fix capacity increase issue with `shrink_to_fit` for `__split_buffer` (#117720) [libc++] Refactor vector move constructor with allocator (#116449) [libc++] Remove _LIBCPP_DISABLE_AVAILABILITY macro (#112952) [libc++] Granularize <mutex> includes (#117068) [libc++] Rename operator[].pass.cpp to subscript_operator.pass.cpp (#117216) [libc++] Include headers in <thread> conditionally (#116539) [libc++] Make __atomic_base into an implementation detail of std::atomic (#115764) [libc++] Avoid including all of <thread> in <future> (#116541) [libc++] Remove transitive includes from empty headers (#116295) [libc++] Remove unnecessary std::vector accessors (#114423) [libc++] Guard `__pad_and_output` with `_LIBCPP_HAS_LOCALIZATION` (#116580) [libc++] Remove some unnecessary boilerplate in <__chrono/duration.h> (#116238) [libc++] Fix a few problems found by clang-tidy [libc++] Avoid including <string> in <mutex> (#116254) [libc++] Address post-commit comments for __scope_guard (#116291) [libc++] Remove <istream> and <ostream> includes from <iomanip> (#116223) [libc++] Avoid including <ostream> in <fstream> and <strstream> (#116014) [libc++] Fix CI issues recently introduced by localization changes (#116216) [libc++] Make __throw_ member functions static (#116233) [libc++] Add forgotten call to std::__to_address in __uninitialized_allocator_relocate [libc++] Remove obsolete accessors in std::list and std::forward_list (#115748) [libc++] Accept iterators instead of raw pointers in __uninitialized_allocator_relocate (#114552) [libc++] Split __shared_count out of <__memory/shared_ptr.h> (#115943) [libc++] Make variables in templates inline (#115785) Unify naming of internal pointer members in std::vector and std::__split_buffer (#115517) [libc++] Remove _AlgPolicy from std::copy and algorithms using std::copy (#115887) [libc++] Remove a few unused includes from <__algorithm/find_end.h> ``` commit_hash:ca6104a6ab073cf81026add20631d7ec3078105f
* Update libcxx to 12 Nov 2024mikhnenko2026-01-2826-275/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] update comment for P0067R5 (#113239) [libc++] Replace template structs with template variables in <ratio> (#115782) [libc++] Introduce a standalone __scope_guard and use it in <string> (#114867) [libc++] Amend error message for _LIBCPP_HAS_THREAD_API_EXTERNAL (#115774) [libc++] Cleanly implement the base locale API for BSD-like platforms (#115176) [libc++] Fix throwing away smaller allocations in string::shrink_to_fit (#115659) [libc++][hardening] Constrain construction for `__{(static_)bounded,wrap}_iter` (#115271) [libc++][test] Clean up code in GenerateInput.h for benchmark testing (#115560) [libc++] Update CMake dependency for generate_iwyu_mapping.py (#115387) [libc++] Use explicit #include instead of transitive #include (#115420) [libc++][hardening] Use `static_assert` for `__(static_)bounded_iter` (#115304) [libc++][docs] Document _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION (#115405) [z/OS][libc++] Remove `align_val_t` dependency in small_buffer.h (#114396) [libc++] Fix `unexpected` heterogeneous comparison (#115249) [libc++] Add support for bounded iterators in std::array (#110729) [libc++] Unify the benchmarks with the test suite (#101399) [libcxx] Fix inverted `has_terminal` condition [libc++] Define an internal locale API as a shim on top of the current one (#114596) [libc++] Only include the system <stdint.h> and <locale.h> if they exist (#115017) [libc++] Forward more algorithms to the classic algorithms (#114674) [libc++] Refactor the configuration macros to being always defined (#112094) [libc++] Remove <stddef.h> includes from the granularized <cstddef> headers (#114788) [libcxx] Use `lgamma` rather than `lgamma_r` with LLVM libc (#109556) [libc++] Remove <string> and <vector> includes from <flat_map> (#114876) [libc++][test] Improve ThrowingT to Accurately Throw after throw_after > 1 Use (#114077) [libc++] Simplify string::reserve (#114869) [libc++] Make benchmarks forward-compatible with the test suite (#114502) [libc++] Set `__cpp_lib_smart_ptr_for_overwrite` (#114700) [libcxx] Add testing configuration for GPU targets (#104515) [libc++] Simplify aligned_storage (#114665) [libc++] remove minor version in status pages (#113241) [libc++] Apply post-commit review comments for unique_ptr<T[]> hardening (#111704) [libc++] Inline small functions inside vector (#114567) [libc++] Remove a few includes from pair.h (#114708) [libc++] Refactor __split_buffer to eliminate code duplication (#114138) [libc++] Add a few _LIBCPP_ASSERT_INTERNALs to make sure internal invariants are kept (#114575) [libc++] Use enable_if_t to constrain make_unique{,_for_overwrite} (#95044) [libc++][test] add test coverage for `flat_map::emplace_hint` (#113773) [libc++] Use proper functions instead of macros in bsd_locale_defaults.h (#113759) [libc++] Add missing include [libc++] Fix dumb typo [libc++] Add a few missing includes [libc++] Split std::hash benchmark out of std::unordered_set benchmark (#114448) [libc++] Include language.h inside __config (#114269) [libc++][C++03] Fix libc++ includes (#109000) [libc++] Granularize <cstddef> includes (#108696) [libc++] Deprecate and remove meaningless `<cxxx>` headers (#111615) [libc++] Constrain additional overloads of `pow` for `complex` harder (#110235) [libc++][test] Augment `test_alloc` in `deallocate_size.pass.cpp` (#113638) [libc++] Remove _LIBCPP_ENABLE_ASSERTIONS, which had been deprecated (#113592) Add exception guard for constructor vector(n, x, a) (#113086) [clang] Warn about memset/memcpy to NonTriviallyCopyable types (#111434) [libc++] <experimental/simd> temporarily mark XFAIL for the armv7-unknown-linux-gnueabihf with simd unary test to pass the CI (#113641) [libc++] Implement P0429R9 `std::flat_map` (#98643) [libc++] Split Apple and Freebsd locale support into their own headers (#113737) [libc++][test] Make macro detection more friendly to MSVC (#113633) [libc++] Bump `__cpp_lib_optional` and `__cpp_lib_variant` (#113650) [libc++] Remove obsolete Solaris and Newlib support for locales (#113721) [libc++][test] Use `ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings)` for `-Wno-psabi` (#113608) [libc++] Refactor locale_guard (#113694) [libc++] Granularize <vector> (#99705) [libc++] __uglify `[[clang::noescape]]` (#113280) [runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler (#108357) [libc++] Exclude C++03 frozen headers from the modulemap (#113572) [libc++] Refactor vector::push_back to use vector::emplace (#113481) [libc++] Remove workaround which allows setting _LIBCPP_OVERRIDABLE_FUNC_VIS externally (#113139) [libc++] Add a escape hatch for making __libcpp_verbose_abort non-noexcept again (#113310) [libc++] Disallow std::prev(non_cpp17_bidi_iterator) (#112102) [libc++][ranges] LWG4016: container-insertable checks do not match what container-inserter does (#113103) [libc++] <experimental/simd> Add unary operators for class simd (#104764) [libc++] Refactor vector constructors to eliminate code duplication (#113193) [libc++] Rewrite the transitive header checking machinery (#110554) [libc++] Fix typo in is_always_lock_free test (#113169) [libcxx][libc] Hand in Hand PoC with from_chars (#91651) [libc++] Remove libc++'s own stdint.h and locale.h (#107436) [libc++] Fix `reverse_iterator` when underlying is c++20 `bidirectional_iterator` but not `Cpp17BidirectionalIterator` (#112100) [libc++] __uglify non-conforming member typedef `base` (#112843) [libc++] Re-add attribute macro to clang-format (#112746) [libc++] Remove obsolete _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF (#112745) [runtimes] Improve the documentation for LIBCXX_ADDITIONAL_COMPILE_FLAGS (#112733) [libc++] Mark libc++ deallocation helpers as noexcept (#110884) [runtimes] Avoid cluttering the top-level build directory with test artifacts (#112717) [libc++] Remove obsolete Appveyor files (#112744) [libc++] Make __libcpp_verbose_abort() noexcept like std::terminate() (#109151) [libc++][ranges] LWG3692: `zip_view::iterator`'s `operator<=>` is overconstrained and changes of `zip_view` in P2165R4 (#112077) [libc++][test] Fix `overload_compare_iterator::iterator_category` (#112165) [libc++] Fix expression-equivalence for `mem_fn` (#111307) ``` commit_hash:8ce63343127a5ed85e0fb452d828d49e29e0a94c
* Update libcxx to 12 Oct 2024mikhnenko2026-01-131-3/+3
| | | | commit_hash:2c510cb113f87b97a191ca1a87e2beb8a03e3e5c
* Update libcxx to 20 Sep 2024mikhnenko2025-04-19146-756/+892
| | | | | TRIVIAL commit_hash:04d8ae0a53854a1ed8cdea2e191c8dfa1248c023
* Update libcxx to 8 July 2024mikhnenko2025-02-25118-3855/+967
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {% cut "Change log" %} ``` [libc++] Add a test case for std::bit_cast with std::complex (#97751) [libc++] Update status after the St. Louis meeting. (#97951) [libc++] Guard transitive include of `<locale>` with availability macro (#97869) [libc++] Restore `__synth_three_way` lambda (#90398) [libc++][TZDB] Makes implementation experimental. (#95657) [libc++] Remove dead code from the locale base API and support code (#89070) [libc++] Assume newer LLVM versions for not-yet-released macOS versions [libc++] Remove annotations for GCC 13 and update the documentation (#97744) [libc++][test] Updates sized deallocation tests. (#97833) [libc++] Adds a missing include. [libc++] Use __is_array if the builtin is fixed (#93037) [libc++] Use _Complex for multiplication and division of complex floating point types (#83575) [libc++] Adds a new feature-test macro generator class. (#90889) [libc++][chrono] Fixes leap seconds. (#90070) [libc++] Upgrade to GCC 14 (#97205) [libc++] Fix the signatures of `std::rethrow_if_nested` (#91365) [libc++] Use GCC compilers from compiler explorer (#97219) Add a regression test for recent regression in pair. (#97355) [libcxx][Docs] Correct link syntax in hardening docs [libc++] Don't use a ppa for GCC [libc++] Upgrade to GCC 14 in the CI (#95212) [libc++abi] Fix test failures with GCC 14 (#95759) [libc++] Clean up and update deployment target features (#96312) [libc++] Fix how we pass /MANIFEST flag on Windows without clang-cl (#96967) [libc++] Classify iota_view precondition (#96662) [libc++] restrict the expected conversion constructor not compete against copy constructor (#96101) "[libc++] Try again LWG3233 Broken requirements for shared_ptr converting constructors" (#96103) [libc++] LWG3382: NTTP for `pair` and `array` (#85811) [libc++] Get the GCC build mostly clean of warnings (#96604) [libc++] P3029R1: Better `mdspan`'s CTAD - `std::extents` (#89015) [libc++] Move allocator assertion into allocator_traits (#94750) [libc++] change the visibility of libc++ header to public in libcxx module (#91240) [libc++] Use _If for conditional_t (#96193) [libc++] Remove the allocator<const T> extension (#96319) [libc++] Fix incorrect overflow checking in std::lcm (#96310) [libc++] Use __is_nothrow_destructible (#95766) [libc++] Remove Windows-specific configuration from libcxx/test/CMakeLists.txt (#96330) [libc++] Build with -fsized-deallocation (#96217) [libc++] <experimental/simd> Add swap functions of simd reference (#86478) [libc++] Fix deployment target Lit features (#94791) [libc++] Workaround clang bug in __has_unique_object_representations (#95314) [libc++] Remove <ostream> include from <chrono> (#96035) [libc++] Fix triviality of std::pair for trivially copyable types without an assignment operator (#95444) [libc++] Install Python packaging to resolve LLDB data formatter issues (#95971) [libc++] Properly define _LIBCPP_HAS_NO_UNICODE in __config_site (#95138) [libc++] Refactor<__type_traits/is_swappable.h> (#86822) [libc++] Enable modernize-use-equals-delete (#93293) [libc++] Test suite adjustments on macOS (#95835) [libc++] Guard transitive include of `<locale>` with availability macro (#95686) [libc++] Mark more types as trivially relocatable (#89724) [libcxx] [ci] Simplify the mingw x86_64 configs (#95609) [libc++][TZDB] Disables a failing test. (#95659) [libc++] Add default copy ctor to "__chrono/exception.h" (#95338) [libcxx][test][AIX] address more platform differences in locale tests (#94826) [libc++] Remove unnecessary #ifdef guards around PSTL implementation details (#95268) [libc++] Mark local_time test as a long test (#95170) Update actions-runner version for libc++ builder images [libc++] Move the implementation of CPU-based basis operations to namespace __pstl (#95267) [libc++][modules] Mark as implemented. (#90091) [libc++] Adds __cpp_lib_three_way_comparison FTM. (#91515) [libc++] Overhaul the PSTL dispatching mechanism (#88131) [libcxx] Correct and clean-up filesystem operations error_code paths (#88341) [libc++][z/OS] Disable portion of formatter.char.funsigned-char.pass.cpp for no unicode (#94044) [libc++] Mark a few functions in the dylib as noexcept (#94098) [libc++] Fix UB in filesystem::__copy for non-existent destination. (#87615) [libc++] Simplify the definition of string::operator== (#95000) [libc++] Update with LWG issue number for shared-ptr constructor [libc++] Tweak how we check constraints on shared_ptr(nullptr_t) (#94996) [HWASan] make get_info.local_time.pass.cpp UNSUPPORTED [libc++] Fix endianness for algorithm mismatch (#93082) [HWASan] skip libcxx test that times out with hwasan [libc++][TZDB] Implements zoned_traits. (#91059) [libc++][test] Avoid `-Wunused-variable` warnings in mutex tests (#94907) [libc++] Fix invalid escape sequences in Python comments (#94032) [libc++][TZDB] Implements time_zone::to_local. (#91003) [libc++][TZDB] Implements time_zone::to_sys. (#90901) [libc++][TZDB] Implements time_zone::to_sys. (#90394) [libc++][TZDB] Implements time_zone get_info(local_time). (#89537) [libc++] Undeprecate shared_ptr atomic access APIs (#92920) [libc++][regex] Correctly adjust match prefix for zero-length matches. (#94550) [libc++][test][AIX] Only XFAIL atomic tests for before clang 19 (#94646) [libc++] Fix naming of value template parameters (#76888) [libc++][hardening] Finish documenting hardening. (#92021) Fix detection of __datasizeof with Clang. (#94174) [libc++] Fix SyntaxWarning messages from python 3.12 (#93637) [libc++] [test] Consistently use `REQUIRES: has-unix-headers` (#94122) [libc++] Add missing noexcept to span constructor (#94381) Remove act from builder image. It never turned out to be useful [libc++] Adjust XFAIL for quick_exit (#94274) [libc++] Properly detect whether C++20 modules are supported by the compiler (#94275) [libc++] Handle 0 size case for testing support operator new (#93834) [libc++] Fix regression about parsing leading decimal points (#93989) [libc++][test] Mark `optional` test functions as `TEST_CONSTEXPR_CXX20` (#94172) [clang][Modules] Remove unnecessary includes of `Module.h` (#93417) [libc++] Don't give functions C linkage (#94102) [libc++] [test] Cleanup compile-only tests (#94121) [libc++] [test] Fix `__has_include` usage, expand condvarany and spaceship coverage (#94120) [libc++] Fix `std::atomic::wait` ulock wait UL_COMPARE_AND_WAIT64 (#92783) Fix order of include flags for the target & regular include paths. (#93547) [libc++] Fix failures with GCC 14 (#92663) [libc++] Remove the inline namespace for std::filesystem in ABIv2 (#92971) [runtimes] Correctly apply libdir subdir for multilib (#93354) [clang] Preserve Qualifiers and type sugar in TemplateNames (#93433) [libc++][test] Close LWG3018 and add tests (#93047) [runtimes][CMake] Simplify the propagation of test dependencies (#93558) [runtimes] Reintroduce a way to select the compiler used for the test suite (#93542) [libc++] Make the __availability header a sub-header of __config (#93083) [libc++][test] Close LWG3238 and add tests (#93043) [libc++] LWG3223 Broken requirements for shared_ptr converting constructors (#93071) [libc++][test] Close LWG3382 and add tests (#93039) [libc++] [test] Fix portability issues for MSVC (#93259) [libc++] [test] Fix MSVC warnings (#93257) [libc++] Mark P2845R8 `__cpp_lib_format_path` and P2587R3 `__cpp_lib_to_string` as C++26 (#93255) [libc++] Split up ABI and platform configuration to their own headers (#90863) [libc++][pstl] Merge all frontend functions for the PSTL (#89219) [libcxx][test][AIX] Fix the thousands_sep expectation for fr_FR locales (#92312) [libcxx] [test] Use `shlex.quote()` to fix Python 3.13 compatibility (#93376) [libc++] Remove libcxx/include/libcxx.imp Revise IDE folder structure (#89755) [libc++][test] Close LWG3045 (#93053) [libc++] Remove a few unused includes of trivially_copyable.h (#93200) [test][libcxx] Update deallocation after #90373 (#93145) [libc++] Refactor tests for std::condition_variable (#91530) Removed redundant template in '__delete_node()' member function of '__forward_list_base' and '__list_imp' classes. (#84323) [libc++][pstl] Improve exception handling (#88998) [WebAssembly] Upstream misc. EH changes (#92990) [libc++] <experimental/simd> Add copy functions for class simd/simd_mask (#78935) [libc++][vector] Inline remaining constructors filling vector with the same value (#82068) Reland "[clang] Enable sized deallocation by default in C++14 onwards" (#90373) [libc++] Implement C++20 atomic_ref (#76647) [libc++] Refactor flaky tests for std::shared_lock (#91779) [libcxx] [test] Detect mingw-w64 headers compatible with C++ module builds (#92893) [libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948) [libcxx] removes unnecessary traits from `has_unique_object_representations` (#69241) [libc++][z/OS] Switch to use TEST_HAS_NO_INT128 as per comment in PR 92261 (#92434) [libcxx] Add cast to avoid pointer casting warning on Windows (#92738) [libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461) [libcxx][libcxxabi] Fix build for OpenBSD (#92186) [libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899) [libc++][z/OS] Correct a definition of __native_vector_size (#91995) [libc++][z/OS] Fixup two linear_congruential_engine tests (#92261) [libc++][test] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896) Fix typo "indicies" (#92232) [libcxx][test] Fix numpunct grouping tests on AIX (#91781) [libcxx] [test] Fix the locale ctype widen tests on AIX (#91744) [libc++] Vectorize std::mismatch with trivially equality comparable types (#87716) [libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335) [libc++][doc] Updates Spaceship status page. [libc++][ASan] Fix std::basic_string trait type (#91590) [libc++][test] Fixes constexpr char_traits. (#90981) [libc++][functional] P2944R3 (partial): Comparisons for `reference_wrapper` (`reference_wrapper` operators only) (#88384) [libc++][CI] Reenables clang-tidy. (#90077) [libc++] Implement std::gcd using the binary version (#77747) [ASan][libc++] Turn on ASan annotations for short strings (#79536) [AIX][libc++] Enable clang_modules_include.gen.py tests (#90971) [libc++] Rename _LIBCPP_INTRODUCED_foo_MARKUP to _LIBCPP_INTRODUCED_foo_ATTRIBUTE (#91269) [libc++] Fix P1206R7 feature test macros (#90914) [libc++] Adjust some of the [rand.dist] critical values that are too strict (#88669) [libc++][modules] Uses _LIBCPP_USING_IF_EXISTS. (#90409) Bump actions runner image used for libc++'s builders. [libcxx] Align `__recommend() + 1` by __endian_factor (#90292) [libc++] Granularize <ostream> (#85537) [libc++] Remove a few __has_foo defines in __config (#90511) [libc++] Remove _LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS (#90512) [libcxx][ci] In picolib build, ask clang for the normalised triple (#90722) [libc++][ranges] Implement LWG4053 and LWG4054 (#88612) [libc++] Some tests are missing include for `numeric_limits` (#90345) [libc++] Mark scoped_lock and unique_lock constructors as [[nodiscard]] (#89397) [libc++] Improve libc++ tests when using optimizations (#88897) [libc++][modules] Enable installation by default. (#90094) [libc++][format] Improves escaping performance. (#88533) [libcxx] Remove empty ~__no_destroy (#89882) [libc++][ranges] Exports operator|. (#90071) [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446) [libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964) [clang] Enable sized deallocation by default in C++14 onwards (#83774) [libc++][format] Improves escaping. (#88283) [libc++] Implement LWG4023 (#87513) [libc++] Reformulate availability in terms of LLVM releases (#87563) [libc++] Reorganize the std::variant macros (#89419) [libc++][format] Adds an escaped output benchmark. (#88020) [libc++] Makes saturation functions privately available. (#89503) [libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827) [libc++][TZDB] Fixes reverse time lookups. (#89502) [libc++][doc] Updates module build instructions. (#89413) [libc++][chrono] Fixes format output of negative values. (#89408) [libc++][ranges] export `std::ranges::range_adaptor_closure` (#89793) [libc++][ranges] P2387R3: Pipe support for user-defined range adaptors (#89148) [libc++] Add some private headers to libcxx.imp (#89568) [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094) [libc++] Remove stray CMake install step for modulemap file (#89394) [libc++] Don't commit libcxx.imp (#89391) [libc++] Removes a Clang 16 Windows workaround. (#88560) [libc++][TZDB] Renames incomplete. (#89250) [libc++] Optimize char_traits a bit (#72799) [libc++] Fix usage of 'exclude_from_explicit_instantiation' attribute on local class members (#89377) linear_congruential_engine: add using more precision to prevent overflow (#81583) CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#89234) [libc++][TZDB] Adds local_info formatter. (#86256) [libc++][pstl] Move the CPU algorithm implementations to __pstl (#89109) [libc++][TZDB] Adds sys_info formatter. (#85896) [libc++][pstl] Promote CPU backends to top-level backends (#88968) [libc++][chrono] Improves date formatting. (#86127) [libc++] Add missing iterator requirement checks in the PSTL (#88127) [libc++][TZDB] Improves time zone format specifiers. (#85797) [libc++][chrono] Disables a test. [libc++][doc] Documents -DLIBCXX_INSTALL_MODULES=ON. (#88547) [libc++][test] Removes Clang 16 validation. (#88558) [libc++] Removes deprecated _LIBCPP_ENABLE_<VERSION>_REMOVED_FEATURES macros (#88548) [libc++][modules] Removes some validation quirks. (#88031) [libc++] Deprecate the C++20 synchronization library before C++20 (#86410) [libc++] Use availability to rely on key functions for bad_expected_access and bad_function_call (#87390) [libc++] Rename __cpu_traits functions (#88741) [libc++][CI] Tests LLDB libc++ data formatters. (#88312) [libc++] Add a utility to check whether a range is valid (#87665) [libc++][PSTL] Introduce cpu traits (#88134) [libc++][RFC] Only include what is required by-version in the umbrella headers (#83740) [libc++] Deprecated `shared_ptr` Atomic Access APIs as per P0718R2 & Implemented P2869R3: Remove Deprecated `shared_ptr` Atomic Access APIs from C++26 (#87111) [libc++][TZDB] Removes test_indian_kerguelen test. [libc++][TZDZ] Validates the database version. [libc++] Undeprecate POSIX STREAM macros. (#88296) [libc++] Marks a variable const. (#88562) [libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85794) [tzdb] Replace shared_mutex with mutex. (#87929) [libc++] P3029R1: Better `mdspan`'s CTAD (#87873) [libc++][ranges] LWG3736: move_iterator missing disable_sized_sentinel_for specialization (#85611) [libc++] LWG3643: Missing `constexpr` in `std::counted_iterator` (#87901) [libcxx] applies changes regarding post-commit feedback to #75259 (#76534) [libc++] Fix -Wgnu-include-next in stddef.h (#88214) [libcxx] Use generic builtins for popcount, clz and ctz (#86563) [libc++] Adds a global private constructor tag. (#87920) [libc++] Removes Clang-16 support. (#87810) [lib++][CI] Changes bootstrap build type. (#88175) [libc++][CI] Updates Docker LLDB dependencies. (#88174) [libc++][chrono] Adds the sys_info class. (#85619) [libc++][format] Switches to Unicode 15.1. (#86543) [libc++] Avoids using ENODATA. (#86165) [libc++][TZDB] Fixes relative path resolving. (#87882) [libc++][format] adds a basic fuzzer test. (#87883) [libc++] Add test coverage for our implementation of LWG4031 (#87508) [libc++] Implement `bind_back` (#81055) [libc++][format] Fixed `println.blank_line.sh.cpp` test on llvm-clang-win-x-* configurations (#88011) [libc++][doc] Updates format status page. [libc++][format] P3142R0: Printing Blank Lines with `println` (#87277) [libc++] Optimize ranges::minmax (#87335) [libc++] Implement LWG3430 disallow implicit conversion of the source arguments to `std::filesystem::path` when constructing `std::basic_*fstream` (#85079) [libc++] P2872R3: Remove ``wstring_convert`` From C++26 (#87100) Fix issue with never-constexpr __construct_at in C++ < 20. (#87403) [libcxx] coerce formatter precision to int (#87738) [libc++][CI] Updates to Clang 19. (#85301) [libc++][chrono] Completes the tzdb class. (#82157) [libc++][oss-fuzz] Updates C++ version used. (#87531) [libc++] P2867R1: Remove Deprecated `strstream`s From C++26 (#87107) [libc++] Fix copy/pasta error in atomic tests for `atomic_compare_exchange_{weak,strong}` (#87135) [libc++] Mark some recent LWG issues and papers as done (#87502) [libc++][chrono] Loads leap-seconds.list in tzdb. (#82113) [libc++] Disables -Wweak-vtables diagnostics. (#85577) [libc++] Update status page after the Tokyo meeting (#87395) [libc++] Upstream ptrauth support in libc++ and libc++abi (#84573) [libc++] Fix tests on musl (#85085) (#86934) [libc++] Add a static_assert for a Mandates in seed_seq (#86992) [libc++][ranges] Avoid using `distance` in `ranges::contains_subrange` (#87155) [libc++] `std::ranges::advance`: avoid unneeded bounds checks when advancing iterator (#84126) ``` {% endcut %} commit_hash:45feb9db5b173f12bf29de2a3ee73006d4371a4e
* Update libcxx to 2 Apr 2024 239236b8c2154aa49e98bc7ed774a7d2712edf50mikhnenko2025-02-0123-143/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [libc++] Remove pair dependency (#85621) [libc++] Simplify the implementation of <stddef.h> (#86843) Update the "Current Status" section of the website to be current. (#84507) [libc++] Optimize the two range overload of mismatch (#86853) [libc++] Refactor __tuple_like and __pair_like (#85206) [libc++][test] Improves src include paths. (#86864) [libc++] Document guidelines for applying [[nodiscard]] (#84000) [libc++] Optimize the std::mismatch tail (#83440) [libc++] Remove <queue> and <stack> includes from <format> (#85520) [libc++] Switch FreeBSD to C++26 (#86658) [libc++] Fix one case in saturate_cast.pass.cpp for 64-bit on z/OS (#86724) [libc++][test] Remove tests that testing std::variant<T&> (#84222) [libc++] <experimental/simd> Reduce types for template parameter U in tests (#83781) [libc++] Switch FreeBSD CI job to Clang 17 (#86320) [libc++][CI] Updates the documentation. (#85264) [libc++][format] Adds ABI tags to inline constexpr variables. (#86293) [libc++][test] Fix race condition in condition_variable_any tests (#84788) [libc++] Vectorize mismatch (#73255) [libc++] Don't push and pop extensions diagnostics when using clang modules (#85917) [libc++][ranges] use `static operator()` for C++23 ranges (#86052) [libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263) [libc++] Remove macros for keeping std::allocator members and void specialization after C++20 (#85806) [libc++] Deprecates std::errc constants. (#80542) [libcxx] [cmake] Fix cmake_path(ABSOLUTE_PATH) for empty CMAKE_INSTALL_PREFIX [libc++][CI] Reenables the module tests. (#85799) [libc++][ranges] remove `__workaround_52970` (#85683) [libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004) [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756) [libc++][format] Fixes nested concept evaluation. (#85548) [libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262) [libc++] Remove __unconstrained_reverse_iterator (#85582) [libc++] Simplify the implementation of remove_reference (#85207) [libcxx][test] Create feature host-can-create-symlinks (#82204) [libc++] Use __is_scoped_enum for the implementation of is_scoped_enum if it's available (#85580) [libc++] Add missing hide-from-ABI annotations on virtual functions (#85439) [libc++] Optimize ranges::fill{,_n} for vector<bool>::iterator (#84642) [libc++] Add <locale> include in <chrono> (#85521) [libc++] Remove <locale> includes from <format> (#85478) [libc++] P2602R2 Poison Pills are Too Toxic (#74534) [libc++] Fixes run-buildbot-container. (#84644) [libc++] Add [[nodiscard]] to static numeric limit functions (#83748) Rework Modules CMake to be (more) idiomatic. (#84936) [libc++] Enables TZDB tests. (#82108) [libc++] Remove a few includes from <__functional/hash.h> (#83254) [libc++] Implements filebuf unbuffered. (#76629) [libc++][CI] Updates the version number of the latest release. [libc++] Remove <tuple> include from <__format/concepts.h> (#80214) [runtimes] Prefer -fvisibility-global-new-delete=force-hidden (#84917) [libc++] Fix tests on musl (#85085) [libc++] Remove _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT (#83928) [libcxx] Fix incorrect type in the has-1024-bit-atomics feature test (#84904) [libc++] Improves UB handling in ios_base destructor. (#76525) [libc++][CI] Installs tzdata package in Docker. (#84643) [libc++][TZDB] Fixes parsing interleaved rules. (#84808) [libc++][hardening] Check bounds on arithmetic in __bounded_iter (#78876) [libc++][hardening] Add iterator validity checks on unordered containers (#80230) [libc++][hardening] Reclassify string_view(ptr, len)'s size assertion (#79297) [libc++] Re-enable the clang_modules_include test for Objective-C++ (#66801) [libc++] Remove XFAIL for SIMD in optimized build (#84767) [libcxx] Update 128-bit-atomics feature test (#83841) [libc++] Only forward-declare ABI-functions in exception_ptr.h if they are meant to be used (#84707) [libc++][test] Don't include `test_format_context.h` in `parse.pass.cpp` (#83734) [libc++] Add missing include in test (#84579) [libc++] Remove <tuple> from <variant> (#83183) [RFC][libc++] Reworks clang-tidy selection. (#81362) [libc++] Remove <array> include from <span> (#83742) [libc++][format] Updates LWG3462 status. (#80550) [libc++][format] Update LWG3701 status. (#80545) [libc++][test] Fix MSVC warning C4127 in `array.cons/initialization.pass.cpp` (#79793) [libc++] Simplify the std::pair constructor overload set (#81448) [libc++] Allow the use of extensions in the implementation (#79532) [libc++] Don't build against libcxxrt by default on FreeBSD (#84484) Actually disable the module generation tests. [libc++] Disable module_std and module_std_compat tests [libc++] Enable availability based on the compiler instead of __has_extension (#84065) [libc++] Fixes time formatter test output for Linux on PowerPC (#75526) [libc++] Remove unused includes from __type_traits/is_convertible.h (#83747) ``` commit_hash:171258d93ab92f516dfb1789300677a164e63219
* Update libcxx to 5 Mar 2024 80f9458cf30d13eef21b09042ea590945c5e64dbmikhnenko2025-01-20147-78/+1058
| | | | commit_hash:c45aa2ed98c2a01fa86b69bac97f40a32bd68ae2
* libc++: Run clang-format from upstream and update to ↵mikhnenko2024-12-1885-2539/+2315
| | | | | | 9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 commit_hash:ca4954fe054e5a7190ad11ab71bfc7ca0965bca2
* Update libcxx to 18 Dec 3b0705827dbe711788c6b6bec3afa94205db1ce8mikhnenko2024-12-0584-219/+683
| | | | commit_hash:875d8582c26b8bf016af25e00ad77d9bbf081948
* Update libcxx to 19 Oct d173ce4a670e88b65c52f6fc1bf10d133ee35704mikhnenko2024-11-1529-513/+1081
| | | | commit_hash:c1da7a8a6580c15e8af41b1a4847da2163706905
* Turn on new sort implnechda2024-07-072-720/+12
| | | | | | | | Этот PR переключает std::sort на новую реализацию из libcxx 1. Если у вас начали падать тесты, которые можно переканонить, то проведите реканонизацию. 2. Если тест невозможно переканонизировть, то попытайтесь найти связанную задачу на починку тестов в тикете https://st.yandex-team.ru/ 3. Если связанного тикета на починку нет пишите в [DEVTOOLSSUPPORT](https://st.yandex-team.ru/DEVTOOLSSUPPORT) 28675795fac4ceab2315c30ad9251d1bfc187c71
* Update libcxx to 10 Oct 2023 dc129d6f715cf83a2072fc8de8b4e4c70bca6935mikhnenko2024-03-2731-146/+516
| | | | 97ce40d276e44357a49b7a945af841896126dca8
* Update libcxx to llvmorg-17.0.6hiddenpath2024-02-21195-2151/+6077
| | | | | Update libcxx to llvmorg-17.0.6 c871ef572c71b4fef22d4a9e65bcebc57e625aea
* Update libcxx to 02 June 2023 185b81e034ba60081023b6e59504dfffb560f3e3 ↵mikhnenko2024-01-2627-284/+616
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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 ```
* feat contrib: aiogram 3armenqa2024-01-19186-733/+720
| | | | Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
* Library import 8 (#1074)AlexSm2024-01-1873-605/+2772
| | | | | * Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
* Import libs 4 (#758)AlexSm2023-12-2752-637/+2289
|
* Upd libc++ to 12 July 2022 81c48436bbd29736f77a111fc207e28854939907hiddenpath2023-12-0638-286/+1476
|
* Remove unused patchesmikhnenko2023-11-301-1/+1
|
* Upd libc++ to 01 July 2022 da1609ad73540978f66111e96ea500b97ca9b39amikhnenko2023-11-157-39/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [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-076-32/+269
| | | | | | | | | | | | | | | | | | | | | | | | ``` [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-0227-102/+725
|
* Upd libc++ to 1 Jun 2022 10c4eec2785a68880c287d36c262d5be3a72a128mikhnenko2023-10-2511-2/+660
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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-173-0/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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-163-225/+0
| | | | 4ac0589122830fc6d90e0ea091300c0b979a42dc
* Upd libc++ to 18 May 4ac0589122830fc6d90e0ea091300c0b979a42dcmikhnenko2023-10-163-0/+225
|
* Update libc++ to 1 May 2022 639b9618f46d75f4dabd2082b3f6ba8433c287bfmikhnenko2023-10-1411-173/+650
|
* Upd libc++ to 0cc34ca7ecfc9d0efee322f60ed6c3169f4f70ca (12 Apr 2022)mikhnenko2023-10-1115-479/+893
|
* Upd libc++ to 95a2527261443729a398e16bc7dc6dd325fc2691 (29 Mar 2022)mikhnenko2023-10-062-14/+104
|
* Upd libc++ to d0af4276d62418ba9e54fec99b293d2fd7c92213 (14 Mar 2022)mikhnenko2023-09-2718-26/+424
|
* Udp libc++ for 2 days with fake-id changesmikhnenko2023-09-222-0/+105
|
* Put libc++ under ym2mikhnenko2023-09-201-2/+2
|
* Update libc++ to 34313583 (20 Feb 2022).halyavin2022-07-216-8/+9
| | | | | | | | | | | | | | | | | | | | Notable changes: * replace _LIBCPP_INLINE_VISIBILITY with _LIBCPP_HIDE_FROM_ABI in __filesystem/operations.h * implement sortable and mergeable concepts * replace __uncvref with __uncvref_t * implement consistent stateful allocator behavior in std::basic_string::operator+ * remove some _LIBCPP_CXX03_LANG ifdef's * move _LIBCPP_ASSERT related code to a separate file * enable std::hash<Enum> in C++11 mode * make algorithm includes more granular * implement range functionality for std::istream_iterator * add debug check in basic_string::insert * replace "" with <> in includes in src/ files for consistency with include/ * add push/pop macros defines in src/ files for consistency with include/ * add availability annotations to optional operations * remove conditional noexcept from view_interface --- this is allowed by the standard * replace _LIBCPP_SAFE_STATIC with _LIBCPP_CONSTINIT * guard most of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES * remove priority pragma for AIX from locale.cpp because it is ignored anyway
* Update libc++ to 8f0b2ac1 (12 Feb 2022).Andrey Khalyavin2022-06-245-16/+200
| | | | | | | | | | | | | | | | | | | | | | | | 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-0997-105/+107
| | | | | | | | | | | | | 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-024-4/+114
| | | | | | | | | | | | | | | | | | | | | | | 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 429a717e (20 Jan 2022).Andrey Khalyavin2022-04-211-2/+4
| | | | | | | | | | | | | | | | Notable changes: * use _LIBCPP_DEBUG_ASSERT in unordered_map and vector headers * use reserved identifiers for template parameters * fix category of fs::path::iterator * introduce __debug_db_insert_i() for debug checks to support compile-time evaluation * add specializations of basic_common_reference and common_type for tuple * fix std::lognormal_distribution::param_type * add _LIBCPP_HIDE_FROM_ABI to in_in_result conversion operators * replace _LIBCPP_INLINE_VISIBILITY with _LIBCPP_HIDE_FROM_ABI in move_iterator.h * fix __simple_view concept in std::ranges * add some ASCII/EBCDIC support for z/OS ref:b0e68cbe142a3f06a8804f247119b5eb0a455a39
* Update libc++ to b6d87773 (14 Jan 2022).Andrey Khalyavin2022-04-152-2/+45
| | | | | | | | | | | | | | | | 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-0759-74/+116
| | | | | | | | | | | | | | 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-2/+4
| | | | ref:8fcd56b3fe762902848ae3f9eabb01e1aa97432c
* intermediate changesarcadia-devtools2022-03-305-7/+6
| | | | ref:6e865ff0ae14a24901c8add989f674d8e88acf17
* intermediate changesarcadia-devtools2022-03-0115-62/+99
| | | | ref:ca7f4ea59c35451f4846b211a4122df6ab12b4df
* intermediate changesarcadia-devtools2022-02-155-10/+69
| | | | ref:6047a064234457e5084bb81c38d0758e4de103c3
* intermediate changesarcadia-devtools2022-02-131-7/+31
| | | | ref:064fcc9007211e678b29a5c5216ed956cc4743e1