<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/contrib/libs/cxxsupp/libcxx/include/__algorithm, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-03-19T03:08:53Z</updated>
<entry>
<title>Update libcxx to 20 June 2025</title>
<updated>2026-03-19T03:08:53Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-03-19T02:52:15Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=1916d58b6659a020b96f8cd1f6740cbcc496cee7'/>
<id>urn:sha1:1916d58b6659a020b96f8cd1f6740cbcc496cee7</id>
<content type='text'>
commit_hash:a70bc4475f605923ff712284d85f5bb6b1912759
</content>
</entry>
<entry>
<title>Update libcxx to 28 May 2025</title>
<updated>2026-03-10T19:02:54Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-03-10T18:37:53Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=720d7c08939c495a6c6bea8ed6db5d22a4362570'/>
<id>urn:sha1:720d7c08939c495a6c6bea8ed6db5d22a4362570</id>
<content type='text'>
```
    [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 &lt;__functional/function.h&gt; (#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&amp;` (#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&lt;vector&lt;bool&gt;&gt;` 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++ &lt; 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 &lt;__bit/*&gt; (#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
</content>
</entry>
<entry>
<title>Update libcxx to 19 Apr 2025</title>
<updated>2026-03-04T04:44:17Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-03-04T04:05:10Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=84af395f325f900d8bd418cac15988997cf390f4'/>
<id>urn:sha1:84af395f325f900d8bd418cac15988997cf390f4</id>
<content type='text'>
```
    [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&amp; 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&lt;bool&gt; (#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 `&lt;utility&gt;` (#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&lt;bool&gt; (#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 &lt;deque&gt; whenever it is available for consistency (#126595)
    [libc++] Validate vector&lt;bool&gt; copy/move-assignment operators in realistic scenarios (#119817)
    [libc++] Fix copy_backward for vector&lt;bool&gt; with small storage types (#131560)
    [libc++] Fix {std, ranges}::copy for vector&lt;bool&gt; with small storage types (#131545)
    [libc++] Fix {std, ranges}::equal for vector&lt;bool&gt; 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
</content>
</entry>
<entry>
<title>Update libcxx to 18 Mar 2025</title>
<updated>2026-02-19T07:10:24Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-02-19T06:38:31Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=18d6511c21e66330bb1f2c8a82f922cc0fa7329d'/>
<id>urn:sha1:18d6511c21e66330bb1f2c8a82f922cc0fa7329d</id>
<content type='text'>
```
    [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&lt;bool&gt;::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 &lt;{forward_,}list&gt; (#130049)
    [libc++] Remove a few unused includes from &lt;__concepts/*&gt; (#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 `&lt;string&gt;` (#129666)
    [libc++] Optimize ranges::swap_ranges for vector&lt;bool&gt;::iterator (#121150)
    [libc++] Remove a few unused includes in &lt;utility&gt; 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 &lt;codecvt&gt; 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&lt;bool&gt;::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&lt;bool&gt;::iterator (#121109)
    [libc++] Avoid code duplication in strings operator+ overloads (#126048)
    [libc++] Deprecate and remove member types of `hash` in `&lt;variant&gt;` (#127758)
    [libc++] Guard include of &lt;features.h&gt; 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
</content>
</entry>
<entry>
<title>Update libcxx to 16 Feb 2025</title>
<updated>2026-02-15T17:38:19Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-02-15T17:12:48Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ec5bfd6e92655f8e00bd9a3c01ff344286488b4b'/>
<id>urn:sha1:ec5bfd6e92655f8e00bd9a3c01ff344286488b4b</id>
<content type='text'>
```
[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 &lt;features.h&gt; 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&lt;bool&gt;::iterator (#121026)
[libc++] Optimize ranges::copy{, _n} for vector&lt;bool&gt;::iterator (#121013)
[libc++] Refactor num_get optimization to not be ABI breaking (#121690)
[libc++] Simplify the implementation of iostream.cpp (#124103)
[libc++] Simplify vector&lt;bool&gt;::__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&lt;bool&gt; (#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 &lt;stdatomic.h&gt; before C++23 (#123130)
[libc++] Enable _LIBCPP_NODEBUG again (#123318)
[libc++] Simplify when the sized global deallocations overloads are available (#114667)
```
commit_hash:c4dee431e33408d110c123c1ea677d3897276e0e
</content>
</entry>
<entry>
<title>Update libcxx to 14 Jan 2025</title>
<updated>2026-02-11T07:25:30Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-02-11T06:20:18Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=df75a44af0e3c0cfce907e22f61d6c91fc3bbc39'/>
<id>urn:sha1:df75a44af0e3c0cfce907e22f61d6c91fc3bbc39</id>
<content type='text'>
```
    [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&lt;T*&gt; 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&lt;NTTP&gt; (#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 &lt;locale&gt; (#122168)
    [libc++] Fix erroneous internal capacity evaluation in vector&lt;bool&gt; (#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&lt;bool&gt; (#121366)
    [libc++] Fix documentation for setting hardening ABI macros (#121946)
    [libcxx] Use alias for detecting overriden function (#120805)
    [libc++] Mark vector&lt;bool&gt;::at() as constexpr to conform to C++20 standard (#121848)
    [libcxx] Fix build for glibc &lt; 2.27 (#121893)
    [libc++] Add new utilities to compare benchmark results between builds (#120743)
    [libc++] Improve coverage of std::atomic_ref&lt;T&gt;::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&lt;bool&gt; (#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&lt;bool&gt;::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 &lt;new&gt; 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
</content>
</entry>
<entry>
<title>Update libcxx to 13 Dec 2024</title>
<updated>2026-02-05T07:59:29Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-02-05T07:31:04Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ee51499cd171c8a9ddaefbf3da48f8deedbac120'/>
<id>urn:sha1:ee51499cd171c8a9ddaefbf3da48f8deedbac120</id>
<content type='text'>
```
    [libc++] Granularize the &lt;new&gt; 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 &lt;atomic&gt; (#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&lt;bool&gt;::__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 &lt;mutex&gt; includes (#117068)
    [libc++] Rename operator[].pass.cpp to subscript_operator.pass.cpp (#117216)
    [libc++] Include headers in &lt;thread&gt; conditionally (#116539)
    [libc++] Make __atomic_base into an implementation detail of std::atomic (#115764)
    [libc++] Avoid including all of &lt;thread&gt; in &lt;future&gt; (#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 &lt;__chrono/duration.h&gt; (#116238)
    [libc++] Fix a few problems found by clang-tidy
    [libc++] Avoid including &lt;string&gt; in &lt;mutex&gt; (#116254)
    [libc++] Address post-commit comments for __scope_guard (#116291)
    [libc++] Remove &lt;istream&gt; and &lt;ostream&gt; includes from &lt;iomanip&gt; (#116223)
    [libc++] Avoid including &lt;ostream&gt; in &lt;fstream&gt; and &lt;strstream&gt; (#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 &lt;__memory/shared_ptr.h&gt; (#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 &lt;__algorithm/find_end.h&gt;

```
commit_hash:ca6104a6ab073cf81026add20631d7ec3078105f
</content>
</entry>
<entry>
<title>Update libcxx to 12 Nov 2024</title>
<updated>2026-01-28T08:03:42Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-01-28T07:42:24Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b0a84a52711c1ab06eb5f3f6f8b407bf3e2e7242'/>
<id>urn:sha1:b0a84a52711c1ab06eb5f3f6f8b407bf3e2e7242</id>
<content type='text'>
```
[libc++] update comment for P0067R5 (#113239)
[libc++] Replace template structs with template variables in &lt;ratio&gt; (#115782)
[libc++] Introduce a standalone __scope_guard and use it in &lt;string&gt; (#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 &lt;stdint.h&gt; and &lt;locale.h&gt; 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 &lt;stddef.h&gt; includes from the granularized &lt;cstddef&gt; headers (#114788)
[libcxx] Use `lgamma` rather than `lgamma_r` with LLVM libc (#109556)
[libc++] Remove &lt;string&gt; and &lt;vector&gt; includes from &lt;flat_map&gt; (#114876)
[libc++][test] Improve ThrowingT to Accurately Throw after throw_after &gt; 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&lt;T[]&gt; 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 &lt;cstddef&gt; includes (#108696)
[libc++] Deprecate and remove meaningless `&lt;cxxx&gt;` 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++] &lt;experimental/simd&gt; 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 &lt;vector&gt; (#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++] &lt;experimental/simd&gt; 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&lt;=&gt;` 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
</content>
</entry>
<entry>
<title>Update libcxx to 12 Oct 2024</title>
<updated>2026-01-13T19:56:15Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2026-01-13T19:38:27Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e6e88d6171b813e09edb775ff18b65e1c434c059'/>
<id>urn:sha1:e6e88d6171b813e09edb775ff18b65e1c434c059</id>
<content type='text'>
commit_hash:2c510cb113f87b97a191ca1a87e2beb8a03e3e5c
</content>
</entry>
<entry>
<title>Update libcxx to 20 Sep 2024</title>
<updated>2025-04-19T14:32:41Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2025-04-19T14:15:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8a4ae1910b2babbc014f5d5ff97c2245803d6d1a'/>
<id>urn:sha1:8a4ae1910b2babbc014f5d5ff97c2245803d6d1a</id>
<content type='text'>
TRIVIAL
commit_hash:04d8ae0a53854a1ed8cdea2e191c8dfa1248c023
</content>
</entry>
</feed>
