<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/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>b9a2658a3e8bd13b0f9e7a8a440832a95b377216 - [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#b9a2658a3e8bd13b0f9e7a8a440832a95b377216</link>
        <description>[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)This patch implements the forwarding to frozen C++03 headers asdiscussed inhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In theRFC, we initially proposed selecting the right headers from the Clangdriver, however consensus seemed to steer towards handling this in thelibrary itself. This patch implements that direction.At a high level, the changes basically amount to making each publicheader look like this:```// inside &lt;vector&gt;#ifdef _LIBCPP_CXX03_LANG#  include &lt;__cxx03/vector&gt;#else  // normal &lt;vector&gt; content#endif```In most cases, public headers are simple umbrella headers so there isn&apos;tmuch code in the #else branch. In other cases, the #else branch containsthe actual implementation of the header.

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Sat, 21 Dec 2024 12:01:48 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c166a9c713ec86b86f1f178a5133bc128fd0a610 - [libc++] Add #if 0 block to all the top-level headers (#119234)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#c166a9c713ec86b86f1f178a5133bc128fd0a610</link>
        <description>[libc++] Add #if 0 block to all the top-level headers (#119234)Including The frozen C++03 headers results in a lot of formattingchanges in the main headers, so this splits these changes into aseparate commit instead.This is part ofhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 10 Dec 2024 15:02:12 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e99c4906e44ae3f921fa05356909d006cda8d954 - [libc++] Granularize &lt;cstddef&gt; includes (#108696)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#e99c4906e44ae3f921fa05356909d006cda8d954</link>
        <description>[libc++] Granularize &lt;cstddef&gt; includes (#108696)

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Thu, 31 Oct 2024 01:20:10 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>dfddc0c4843baaf9605aeb1c4f82eac185e90265 - [libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#dfddc0c4843baaf9605aeb1c4f82eac185e90265</link>
        <description>[libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)This is a follow-up to #83740.

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Thu, 18 Jul 2024 08:59:58 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>31c9c41873d06f3029ad200c04819e2e9d33c7e7 - [libc++][tuple][utility] P2968R2: Make `std::ignore` a first-class object (#97401)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#31c9c41873d06f3029ad200c04819e2e9d33c7e7</link>
        <description>[libc++][tuple][utility] P2968R2: Make `std::ignore` a first-class object (#97401)Implements:  https://wg21.link/P2968R2References:- https://eel.is/c++draft/tuple.general- https://eel.is/c++draft/tuple.syn- https://eel.is/c++draft/tuple.creation- https://github.com/cplusplus/draft/milestone/31- https://github.com/cplusplus/draft/pull/7109- https://github.com/cplusplus/papers/issues/1640- https://cplusplus.github.io/LWG/issue2933- https://cplusplus.github.io/LWG/issue3978---------Co-authored-by: Hristo Hristov &lt;zingam@outlook.com&gt;

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Wed, 10 Jul 2024 21:05:23 +0000</pubDate>
        <dc:creator>Hristo Hristov &lt;hghristov.rmm@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>37dca605c9bd41732da010ee97ed15ad9585a37d - [libc++] Clean up includes of &lt;__assert&gt; (#80091)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#37dca605c9bd41732da010ee97ed15ad9585a37d</link>
        <description>[libc++] Clean up includes of &lt;__assert&gt; (#80091)Originally, we used __libcpp_verbose_abort to handle assertion failures.That function was declared from all public headers. Since we don&apos;t usethat mechanism anymore, we don&apos;t need to declare __libcpp_verbose_abortfrom all public headers, and we can clean up a lot of unnecessaryincludes.This patch also moves the definition of the various assertion categoriesto the &lt;__assert&gt; header, since we now rely on regular IWYU for theseassertion macros.rdar://105510916

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Thu, 29 Feb 2024 15:12:22 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6a664674990094c1b5d2e717256f08cb04485899 - [libc++] P2770R0: Stashing stashing iterators for proper flattening (#66033)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#6a664674990094c1b5d2e717256f08cb04485899</link>
        <description>[libc++] P2770R0: Stashing stashing iterators for proper flattening (#66033)- Partially implements P2770R0 (http://wg21.link/p2770)- Fixes https://wg21.link/LWG3698, https://wg21.link/LWG3700, and https://wg21.link/LWG3791- join_with_view hasn&apos;t been done yet since this type isn&apos;t implemented yet- Rename tuple test directory to match the standard (which changed in P2770R0)- Rename join_view test directory to match the standard

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 12 Dec 2023 14:45:14 +0000</pubDate>
        <dc:creator>Jakub Mazurkiewicz &lt;mazkuba3@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>71400505ca048507e827013eb1ea0bc863525cab - [libc++] Updates C++2b to C++23.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#71400505ca048507e827013eb1ea0bc863525cab</link>
        <description>[libc++] Updates C++2b to C++23.During the ISO C++ Committee meeting plenary session the C++23 Standardhas been voted as technical complete.This updates the reference to c++2b to c++23 and updates the __cplusplusmacro.Note since we use clang-tidy 16 a small work-around is needed. Clangknows -std=c++23 but clang-tidy not so for now force the lit compilerflag to use -std=c++2b instead of -std=c++23.Reviewed By: #libc, philnik, jloser, ldionneDifferential Revision: https://reviews.llvm.org/D150795

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Wed, 17 May 2023 15:54:53 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>9e35fc07f4001c5803069013bcfc266ad99da637 - [libc++] Clean up pair&apos;s constructors and assignment operators</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#9e35fc07f4001c5803069013bcfc266ad99da637</link>
        <description>[libc++] Clean up pair&apos;s constructors and assignment operatorsThis patch makes std::pair&apos;s constructors and assignment operatorscloser to conforming in C++23. The only missing bit I am aware ofnow is `reference_constructs_from_temporary_v` checks, which wedon&apos;t have the tools for yet.This patch also refactors a long-standing non-standard extension wherewe&apos;d provide constructors for tuple-like types in all standard modes. Thecriteria for being a tuple-like type are different from pair-like typesas introduced recently in the standard, leading to a lot of complexitywhen trying to implement recent papers that touch the pair constructors.After this patch, the pre-C++23 extension is provided in a self-containedblock so that we can easily deprecate and eventually remove the extensionin future releases.Differential Revision: https://reviews.llvm.org/D143914

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 07 Feb 2023 23:21:08 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e2b15ec235fed7e4ff1f99193c7bbffe830d4934 - [libc++] Rename __tuple_dir back to __tuple</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#e2b15ec235fed7e4ff1f99193c7bbffe830d4934</link>
        <description>[libc++] Rename __tuple_dir back to __tupleThis essentially reverts D139270Reviewed By: #libc, EricWFSpies: tahonermann, libcxx-commits, arichardsonDifferential Revision: https://reviews.llvm.org/D147519

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 04 Apr 2023 11:05:59 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>882fba9ff275f724a998facba12ad8fc22ab54a3 - [libc++][ranges] Implement LWG-3865 Sorting a range of pairs</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#882fba9ff275f724a998facba12ad8fc22ab54a3</link>
        <description>[libc++][ranges] Implement LWG-3865 Sorting a range of pairsReviewed By: Mordante, philnik, ldionne, #libcDifferential Revision: https://reviews.llvm.org/D144262

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Fri, 10 Mar 2023 02:01:52 +0000</pubDate>
        <dc:creator>Igor Zhukov &lt;fsb4000@yandex.ru&gt;</dc:creator>
    </item>
<item>
        <title>de6827b530d8b6fd85e6714af80eca3107c91ea2 - [libc++] Improves clang-format settings.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#de6827b530d8b6fd85e6714af80eca3107c91ea2</link>
        <description>[libc++] Improves clang-format settings.Add a new test based .clang-format file which inherits from the genericone. This moves some test specific formatting rules to the testdirectory.The main benefit is that headers are sorted, which makes it more likelyto catch these errors before creating a review instead of spotting theerror in the CI clang-tidy step.Reviewed By: ldionne, philnik, #libcDifferential Revision: https://reviews.llvm.org/D144755

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Fri, 24 Feb 2023 20:35:41 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>7458908f12da37e90262bdfaf753d15fb07006e7 - [libc++] Improve binary size when using __transaction</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#7458908f12da37e90262bdfaf753d15fb07006e7</link>
        <description>[libc++] Improve binary size when using __transaction__exception_guard is a no-op in -fno-exceptions mode to produce better code-gen. This means that we don&apos;t provide the strong exception guarantees. However, Clang doesn&apos;t generate cleanup code with exceptions disabled, so even if we wanted to provide the strong exception guarantees we couldn&apos;t. This is also only relevant for constructs with a stack of -fexceptions &gt; -fno-exceptions &gt; -fexceptions code, since the exception can&apos;t be caught where exceptions are disabled. While -fexceptions &gt; -fno-exceptions is quite common (e.g. libc++.dylib &gt; -fno-exceptions), having another layer with exceptions enabled seems a lot less common, especially one that tries to catch an exception through -fno-exceptions code.Fixes https://github.com/llvm/llvm-project/issues/56783Reviewed By: ldionne, Mordante, huixie90, #libcSpies: EricWF, alexfh, hans, joanahalili, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D133661

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Thu, 08 Dec 2022 08:40:54 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>678dd9a589d62159c76886d22fa9ccbd1222e1f2 - [libc++] Improve the implementation of std::unreachable</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#678dd9a589d62159c76886d22fa9ccbd1222e1f2</link>
        <description>[libc++] Improve the implementation of std::unreachableFirst, use __builtin_unreachable unconditionally. It is implemented byall the compilers that we support. Clang started supporting it aroundClang 4, and GCC around GCC 4.10.Also add _LIBCPP_ASSERT so that we will actually get a guaranteed crashif we reached `std::unreachable()` and assertions have been enabled,since that&apos;s UB that&apos;s extremely easy to catch.Differential Revision: https://reviews.llvm.org/D131620

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Wed, 10 Aug 2022 21:27:00 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>947dfc95ca914385c181f24bbc1a16143c17b5f0 - [libc++] Granularize &lt;type_traits&gt; includes in &lt;utility&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#947dfc95ca914385c181f24bbc1a16143c17b5f0</link>
        <description>[libc++] Granularize &lt;type_traits&gt; includes in &lt;utility&gt;Reviewed By: Mordante, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D140426

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 20 Dec 2022 18:47:35 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ec11388b3342a2b22eae22fd13ff4997b103d155 - [libc++] Rename __tuple to __tuple_dir to avoid file collision</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#ec11388b3342a2b22eae22fd13ff4997b103d155</link>
        <description>[libc++] Rename __tuple to __tuple_dir to avoid file collisionRename the `__tuple` directory in libc++ headers to `__tuple_dir`to avoid file collision when installing.  Historically, `__tuple` hasbeen a file and it has been replaced by a directoryin 2d52c6bfae801b016dd3627b8c0e7c4a99405549.  Replacing a regular filewith a directory (or more importantly, the other way around whendowngrading) is not universally supported.  Since this is an internalheader, its actual name should not matter, so just rename it to avoidproblems.Differential Revision: https://reviews.llvm.org/D139270

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Sun, 04 Dec 2022 06:39:41 +0000</pubDate>
        <dc:creator>Micha&#322; G&#243;rny &lt;mgorny@gentoo.org&gt;</dc:creator>
    </item>
<item>
        <title>83ead2bbc5e14ca1beb776c062ebc36c38e8bb1c - [libc++] implement &quot;pair&quot; section of P2321R2 `zip`</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#83ead2bbc5e14ca1beb776c062ebc36c38e8bb1c</link>
        <description>[libc++] implement &quot;pair&quot; section of P2321R2 `zip`Differential Revision: https://reviews.llvm.org/D131495

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Tue, 09 Aug 2022 13:56:30 +0000</pubDate>
        <dc:creator>Hui Xie &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2d52c6bfae801b016dd3627b8c0e7c4a99405549 - [libc++] Granularize __tuple</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#2d52c6bfae801b016dd3627b8c0e7c4a99405549</link>
        <description>[libc++] Granularize __tupleReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D133081

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Mon, 05 Sep 2022 12:38:24 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e31c2a1b1a643861f25ba0145cb4701c999fc6c2 - [NFC][libc++] Moves transitive includes location.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#e31c2a1b1a643861f25ba0145cb4701c999fc6c2</link>
        <description>[NFC][libc++] Moves transitive includes location.As discussed in D132284 they will be moved to the end.Reviewed By: #libc, MordanteDifferential Revision: https://reviews.llvm.org/D133212

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Fri, 02 Sep 2022 15:53:28 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>3a49cffe3add478c2381ed79c56e1e105dd0fa16 - [libc++] Implement P2445R1 (`std::forward_like`)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/utility#3a49cffe3add478c2381ed79c56e1e105dd0fa16</link>
        <description>[libc++] Implement P2445R1 (`std::forward_like`)Co-authored-by: A. Jiang &lt;de34@live.cn&gt;Reviewed By: philnik, huixie90, #libcDifferential Revision: https://reviews.llvm.org/D132327

            List of files:
            /llvm-project/libcxx/include/utility</description>
        <pubDate>Sun, 21 Aug 2022 15:21:08 +0000</pubDate>
        <dc:creator>Igor Zhukov &lt;fsb4000@yandex.ru&gt;</dc:creator>
    </item>
</channel>
</rss>
