<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in utility</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>de4a57cb - [libc++] Re-add transitive includes that had been removed since LLVM 14</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#de4a57cb</link>
        <description>[libc++] Re-add transitive includes that had been removed since LLVM 14This commit re-adds transitive includes that had been removed by4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,and 489637e66dd3. This should cover almost all the includes that hadbeen removed since LLVM 14 and that would contribute to breaking usercode when releasing LLVM 15.It is possible to disable the inclusion of these headers by defining_LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors willenable that macro and start fixing downstream issues immediately. Wecan then remove the macro (and the transitive includes) by default ina future release. That way, we will break users only once by removingtransitive includes in bulk instead of doing it bit by bit a everyrelease, which is more disruptive for users.Note 1: The set of headers to re-add was found by re-generating the        transitive include test on a checkout of release/14.x, which        provided the list of all transitive includes we used to provide.Note 2: Several includes of &lt;vector&gt;, &lt;optional&gt;, &lt;array&gt; and &lt;unordered_map&gt;        have been added in this commit. These transitive inclusions were        added when we implemented boyer_moore_searcher in &lt;functional&gt;.Note 3: This is a best effort patch to try and resolve downstream breakage        caused since branching LLVM 14. I wasn&apos;t able to perfectly mirror        transitive includes in LLVM 14 for a few headers, so I added a        release note explaining it. To summarize, adding boyer_moore_searcher        created a bunch of circular dependencies, so we have to break        backwards compatibility in a few cases.Differential Revision: https://reviews.llvm.org/D128661

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Mon, 27 Jun 2022 19:53:41 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>db1978b6 - [libc++] Mark standard-mandated includes as such</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#db1978b6</link>
        <description>[libc++] Mark standard-mandated includes as suchReviewed By: ldionne, Mordante, #libc, saugustineSpies: saugustine, MaskRay, arichardson, mstorsjo, jloser, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D127953

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Thu, 16 Jun 2022 20:43:46 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>1972d1e8 - [libc++] Granularize even more of type_traits</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#1972d1e8</link>
        <description>[libc++] Granularize even more of type_traitsReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D126593

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Fri, 10 Jun 2022 08:48:39 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>385cc25a - [libc++] Ensure that all public C++ headers include &lt;__assert&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#385cc25a</link>
        <description>[libc++] Ensure that all public C++ headers include &lt;__assert&gt;This patch changes the requirement for getting the declaration of theassertion handler from including &lt;__assert&gt; to including any publicC++ header of the library. Note that C compatibility headers areexcluded because we don&apos;t implement all the C headers ourselves --some of them are taken straight from the C library, like assert.h.It also adds a generated test to check it. Furthermore, this newgenerated test is designed in a way that will make it possible toreplace almost all the existing test-generation scripts with thissystem in upcoming patches.Differential Revision: https://reviews.llvm.org/D122506

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Fri, 25 Mar 2022 16:55:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2a8f9a5e - [libc++] Implement P0627R6 (Function to mark unreachable code)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#2a8f9a5e</link>
        <description>[libc++] Implement P0627R6 (Function to mark unreachable code)Reviewed By: ldionne, Quuxplusone, #libcSpies: arichardson, mstorsjo, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D119152

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Mon, 14 Feb 2022 17:26:02 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>fa6b9e40 - [libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#fa6b9e40</link>
        <description>[libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.Now we&apos;ll notice if a header forgets to include this magic phrase.Differential Revision: https://reviews.llvm.org/D118800

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Wed, 02 Feb 2022 01:16:40 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>598983d7 - [libc++][P2321R2] Add specializations of basic_common_reference and common_type for pair</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#598983d7</link>
        <description>[libc++][P2321R2] Add specializations of basic_common_reference and common_type for pairAdd specializations of basic_common_reference and common_type for pairReviewed By: Quuxplusone, Mordante, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D117506

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 01 Feb 2022 20:36:50 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>cb8a0b07 - [libc++] [ranges] Introduce _LIBCPP_AUTO_CAST(x) for auto(x).</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#cb8a0b07</link>
        <description>[libc++] [ranges] Introduce _LIBCPP_AUTO_CAST(x) for auto(x).Clang is gaining `auto(x)` support in D113393; sadly thereseems to be no feature-test macro for it. Zhihao is openinga core issue for that macro.Use `_LIBCPP_AUTO_CAST` where C++20 specifies we should use `auto(x)`;stop using `__decay_copy(x)` in those places.In fact, remove `__decay_copy` entirely. As of C++20, it&apos;s purelya paper specification tool signifying &quot;Return just `x`, but it wasperfect-forwarded, so we understand you&apos;re going to have to callits move-constructor sometimes.&quot; I believe there&apos;s no reason we&apos;dever need to do its operation explicitly in code.This heisenbugs away a test failure on MinGW; see D112214.Differential Revision: https://reviews.llvm.org/D115686

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 14 Dec 2021 00:21:38 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>37e6bd8b - [libc++] Add a helper class to write code with the strong exception guarantee</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#37e6bd8b</link>
        <description>[libc++] Add a helper class to write code with the strong exception guarantee__transaction is a helper class that allows rolling back code in case anexception is thrown. The main goal is to reduce the clutter when codeneeds to be guarded with `#if _LIBCPP_NO_EXCEPTIONS`.Differential Revision: https://reviews.llvm.org/D115730

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 14 Dec 2021 15:18:19 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>413c3c4f - [libc++] Add missing `#pragma GCC system_header` in a few headers. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#413c3c4f</link>
        <description>[libc++] Add missing `#pragma GCC system_header` in a few headers. NFCI.

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Sun, 05 Dec 2021 18:08:36 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d8380ad9 - [libc++] [P1614] Implement [cmp.alg]&apos;s std::{strong,weak,partial}_order.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#d8380ad9</link>
        <description>[libc++] [P1614] Implement [cmp.alg]&apos;s std::{strong,weak,partial}_order.This does not include `std::compare_*_fallback`; those are coming later.There&apos;s still an open question of how to implement std::strong_orderfor `long double`, which has 80 value bits and 48 padding bits on x86-64,and which is presumably *not* IEEE 754-compliant on PPC64 and so on.So that part is left unimplemented.Differential Revision: https://reviews.llvm.org/D110738

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Thu, 29 Jul 2021 02:04:18 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>eb8650a7 - [runtimes][NFC] Remove filenames at the top of the license notice</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#eb8650a7</link>
        <description>[runtimes][NFC] Remove filenames at the top of the license noticeWe&apos;ve stopped doing it in libc++ for a while now because these nameswould end up rotting as we move things around and copy/paste stuff.This cleans up all the existing files so as to stop the spreadingas people copy-paste headers around.

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Wed, 17 Nov 2021 21:25:01 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f9f97cae - [libc++] P0433R2: add the remaining deduction guides.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#f9f97cae</link>
        <description>[libc++] P0433R2: add the remaining deduction guides.Add deduction guides to `valarray` and `scoped_allocator_adaptor`. This largelyfinishes implementation of the paper:* deduction guides for other classes mentioned in the paper were  implemented previously (see the list below);* deduction guides for several classes contained in the proposal  (`reference_wrapper`, `lock_guard`, `scoped_lock`, `unique_lock`,  `shared_lock`) were removed by [LWG2981](https://wg21.link/LWG2981).Also add deduction guides to the synopsis for the few classes (e.g. `pair`)where they were missing.The only part of the paper that isn&apos;t fully implemented after this patch ismaking sure certain deduction guides don&apos;t participate in overload resolutionwhen given incorrect template parameters.List of significant commits implementing the other parts of P0433 (omitting someminor fixes):* [pair](https://github.com/llvm/llvm-project/commit/af65856eec160d163c764faad250d93357be7c83)* [basic_string](https://github.com/llvm/llvm-project/commit/6d9f750dec29e8ae5366092e64cd343dae2c7464)* [array](https://github.com/llvm/llvm-project/commit/0ca8c0895c6034615593c295dd955f29b25bf3d4)* [deque](https://github.com/llvm/llvm-project/commit/dbb6f8a8179b0604e25707b5c1b72be6164f62d9)* [forward_list](https://github.com/llvm/llvm-project/commit/e076700b7786959206acef136ecf05d54078e4e1)* [list](https://github.com/llvm/llvm-project/commit/4a227e582b2f13880ea049b29988a37a0f7c0742)* [vector](https://github.com/llvm/llvm-project/commit/df8f75479278d5ce16eede342ceb5ba2fd71460b)* [queue/stack/priority_queue](https://github.com/llvm/llvm-project/commit/5b8b8b5dce587f1e5a4a31cc24f09b18bd53ff9a)* [basic_regex](https://github.com/llvm/llvm-project/commit/edd5e29cfe9f67ec8e7e0eda12eb05e616fdeebc)* [optional](https://github.com/llvm/llvm-project/commit/f35b4bc3954f3b01051fc0848535ff784809e9e2)* [map/multimap](https://github.com/llvm/llvm-project/commit/edfe8525de1f7278f4754f2bffd47b13ec291a17)* [set/multiset](https://github.com/llvm/llvm-project/commit/e20865c387e09ea0ebd5add15c762cd5271ff65f)* [unordered_set/unordered_multiset](https://github.com/llvm/llvm-project/commit/296a80102a9b72c3eda80558fb78a3ed8849b341)* [unordered_map/unordered_multimap](https://github.com/llvm/llvm-project/commit/dfcd4384cbcac0eeb7e5cbce350f875ba4da79d5)* [function](https://github.com/llvm/llvm-project/commit/e1eabcdfad89f67ae575b0c86aa4a72d277378b4)* [tuple](https://github.com/llvm/llvm-project/commit/1308011e1b5c5382281a63dd4191a1784f8d2295)* [shared_ptr/weak_ptr](https://github.com/llvm/llvm-project/commit/83564056d4b186c9fcf016cdbb388755009f7b5a)Additional notes:* It was revision 2 of the paper that was voted into the Standard.  P0433R3 is a separate paper that is not part of the Standard.* The paper also mandates removing several `make_*_searcher` functions  (e.g. `make_boyer_moore_searcher`) which are currently not implemented  (except in `experimental/`).* The `__cpp_lib_deduction_guides` feature test macro from the paper was  accidentally omitted from the Standard.Differential Revision: https://reviews.llvm.org/D112510

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Thu, 28 Oct 2021 07:36:19 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>0d450aa6 - [libc++] P2401: conditional noexcept for std::exchange</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#0d450aa6</link>
        <description>[libc++] P2401: conditional noexcept for std::exchangeImplement P2401 which adds a `noexcept` specification to`std::exchange`. Treated as a defect fix which is the motivation forapplying this change to all standards mode rather than just C++23 orlater as the paper suggests.Reviewed By: Quuxplusone, Mordante, #libcDifferential Revision: https://reviews.llvm.org/D111481

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Mon, 11 Oct 2021 18:34:37 +0000</pubDate>
        <dc:creator>Joe Loser &lt;joeloser93@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f4abdb0c - [libc++][spaceship] Implement std::pair::operator&lt;=&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#f4abdb0c</link>
        <description>[libc++][spaceship] Implement std::pair::operator&lt;=&gt;Implements parts of P1614, including synth-three-way and three way comparison for std::pair.Reviewed By: #libc, Quuxplusone, MordanteDifferential Revision: https://reviews.llvm.org/D107721

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Thu, 23 Sep 2021 05:36:23 +0000</pubDate>
        <dc:creator>Kent Ross &lt;k@mad.cash&gt;</dc:creator>
    </item>
<item>
        <title>312ad74a - [libc++] Implement P1951, default arguments for pair&apos;s forwarding constructor</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#312ad74a</link>
        <description>[libc++] Implement P1951, default arguments for pair&apos;s forwarding constructorDifferential Revision: https://reviews.llvm.org/D109066

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 31 Aug 2021 22:13:33 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>69d5a666 - [libcxx][modularisation] splits `&lt;utility&gt;` into self-contained headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#69d5a666</link>
        <description>[libcxx][modularisation] splits `&lt;utility&gt;` into self-contained headers* moves `std::hash` and `std::unary_function` into `__functional`* Everything else goes into `__utility/${NAME}.h`Differential Revision: https://reviews.llvm.org/D104002

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Wed, 09 Jun 2021 23:10:17 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>6adbc83e - [libcxx][modularisation] moves &lt;utility&gt; content out of &lt;type_traits&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#6adbc83e</link>
        <description>[libcxx][modularisation] moves &lt;utility&gt; content out of &lt;type_traits&gt;Moves:* `std::move`, `std::forward`, `std::declval`, and `std::swap` into  `__utility/${FUNCTION_NAME}`.* `std::swap_ranges` and `std::iter_swap` into  `__algorithm/${FUNCTION_NAME}`Differential Revision: https://reviews.llvm.org/D103734

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Sat, 05 Jun 2021 02:47:47 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>cafae056 - [libcxx][NFC] prepares `&lt;type_traits&gt;` for moving out forward and swap</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#cafae056</link>
        <description>[libcxx][NFC] prepares `&lt;type_traits&gt;` for moving out forward and swap* `&lt;type_traits&gt;` depends on `std::forward`, so we replaced it with  `static_cast&lt;T&amp;&amp;&gt;`.* `swap`&apos;s return type is confusing, so it&apos;s been rearranged to improve   readabilitiy.

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 22 Jun 2021 19:21:46 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>dc066888 - [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/utility#dc066888</link>
        <description>[libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20.Differential Revision: https://reviews.llvm.org/D103753

            List of files:
            /llvm-project-15.0.7/libcxx/include/utility</description>
        <pubDate>Tue, 25 May 2021 18:34:18 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
