<?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 stack</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/stack#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/stack</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/stack#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/stack</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>17e0686ab1107a1a675d8783383dedf70fa24033 - [libc++][NFC] Use [[__nodiscard__]] unconditionally (#80454)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#17e0686ab1107a1a675d8783383dedf70fa24033</link>
        <description>[libc++][NFC] Use [[__nodiscard__]] unconditionally (#80454)`__has_cpp_attribute(__nodiscard__)` is always true now, so we might aswell replace `_LIBCPP_NODISCARD`. It&apos;s one less macro that can result inbad diagnostics.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Thu, 12 Sep 2024 19:18:43 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>1f98ac095e35f12a85d71101269df00279faa55c - [libc++][NFC] Replace _NOEXCEPT and _LIBCPP_CONSTEXPR macros with the keywords in C++11 code (#96387)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#1f98ac095e35f12a85d71101269df00279faa55c</link>
        <description>[libc++][NFC] Replace _NOEXCEPT and _LIBCPP_CONSTEXPR macros with the keywords in C++11 code (#96387)

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Sun, 23 Jun 2024 20:03:41 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b - [libc++][NFC] Run clang-format on libcxx/include again (#95874)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b</link>
        <description>[libc++][NFC] Run clang-format on libcxx/include again (#95874)As time went by, a few files have become mis-formatted w.r.t.clang-format. This was made worse by the fact that formatting was notbeing enforced in extensionless headers. This commit simply brings allof libcxx/include in-line with clang-format again.We might have to do this from time to time as we update our clang-formatversion, but frankly this is really low effort now that we&apos;ve formattedeverything once.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 18 Jun 2024 13:13:45 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cb417401879ce70b441a999c4a30f7b64b8d426b - [libc++] Refactor&lt;__type_traits/is_swappable.h&gt; (#86822)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#cb417401879ce70b441a999c4a30f7b64b8d426b</link>
        <description>[libc++] Refactor&lt;__type_traits/is_swappable.h&gt; (#86822)This changes the `is_swappable` implementation to use variable templatesfirst and basing the class templates on that. This avoids instantiatingthem when the `_v` versions are used, which are generally less resourceintensive.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 18 Jun 2024 09:01:43 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>6b4b29f85900995b2a3b817548be4a534d46763b - [libc++][NFC] Remove unnecessary parens in static_asserts (#95605)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#6b4b29f85900995b2a3b817548be4a534d46763b</link>
        <description>[libc++][NFC] Remove unnecessary parens in static_asserts (#95605)These were required a long time ago due to `static_assert` not actuallybeing available in C++03. Now `static_assert` is simply mapped to`_Static_assert` in C++03, making the additional parens unnecessary.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 18 Jun 2024 08:45:30 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>83bc7b57714dc2f6b33c188f2b95a0025468ba51 - [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#83bc7b57714dc2f6b33c188f2b95a0025468ba51</link>
        <description>[libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)This also adds a few tests that were missing.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Mon, 22 Apr 2024 20:13:58 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>316634ff5925481201a7b27d5f806cc2361cf4f2 - [libc++] Remove &lt;queue&gt; and &lt;stack&gt; includes from &lt;format&gt; (#85520)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#316634ff5925481201a7b27d5f806cc2361cf4f2</link>
        <description>[libc++] Remove &lt;queue&gt; and &lt;stack&gt; includes from &lt;format&gt; (#85520)This reduces the include time of &lt;format&gt; from 691ms to 556ms.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Fri, 29 Mar 2024 11:06:09 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&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/stack#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/stack</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>76a247271507f009a186e81c7f90076ffb043ec3 - [libc++] Refactor more __enable_ifs to the canonical style (#81457)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#76a247271507f009a186e81c7f90076ffb043ec3</link>
        <description>[libc++] Refactor more __enable_ifs to the canonical style (#81457)This brings the code base closer to having only a single style of`enable_if`s.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 20 Feb 2024 00:47:38 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>7b4622514d232ce5f7110dd8b20d90e81127c467 - [libc++] Fix missing and incorrect push/pop macros (#79204)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#7b4622514d232ce5f7110dd8b20d90e81127c467</link>
        <description>[libc++] Fix missing and incorrect push/pop macros (#79204)We recently noticed that the unwrap_iter.h file was pushing macros, butit was pushing them again instead of popping them at the end of thefile. This led to libc++ basically swallowing any custom definition ofthese macros in user code:    #define min HELLO    #include &lt;algorithm&gt;    // min is not HELLO anymore, it&apos;s not definedWhile investigating this issue, I noticed that our push/pop pragmas wereactually entirely wrong too. Indeed, instead of pushing macros like`move`, we&apos;d push `move(int, int)` in the pragma, which is not a validmacro name. As a result, we would not actually push macros like `move`-- instead we&apos;d simply undefine them. This led to the following code notworking:    #define move HELLO    #include &lt;algorithm&gt;    // move is not HELLO anymoreFixing the pragma push/pop incantations led to a cascade of issuesbecause we use identifiers like `move` in a large number of places, andall of these headers would now need to do the push/pop dance.This patch fixes all these issues. First, it adds a check that we don&apos;tswallow important names like min, max, move or refresh as explainedabove. This is done by augmenting the existingsystem_reserved_names.gen.py test to also check that the macros are whatwe expect after including each header.Second, it fixes the push/pop pragmas to work properly and adds missingpragmas to all the files I could detect a failure in via the newly addedtest.rdar://121365472

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Thu, 25 Jan 2024 20:48:46 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 - [libc++] Format the code base (#74334)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7</link>
        <description>[libc++] Format the code base (#74334)This patch runs clang-format on all of libcxx/include and libcxx/src, inaccordance with the RFC discussed at [1]. Follow-up patches will formatthe benchmarks, the test suite and remaining parts of the code. I&apos;msplitting this one into its own patch so the diff is a bit easier toreview.This patch was generated with:   find libcxx/include libcxx/src -type f \      | grep -v &apos;module.modulemap.in&apos; \      | grep -v &apos;CMakeLists.txt&apos; \      | grep -v &apos;README.txt&apos; \      | grep -v &apos;libcxx.imp&apos; \      | grep -v &apos;__config_site.in&apos; \      | xargs clang-format -iA Git merge driver is available in libcxx/utils/clang-format-merge-driver.shto help resolve merge and rebase issues across these formatting changes.[1]: https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Mon, 18 Dec 2023 19:01:33 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c - [libc++] Replace uses of _VSTD:: by std:: (#74331)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c</link>
        <description>[libc++] Replace uses of _VSTD:: by std:: (#74331)As part of the upcoming clang-formatting of libc++, this patch performsthe long desired removal of the _VSTD macro.See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-allfor the clang-format proposal.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 05 Dec 2023 16:19:15 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4c198542226223f6a5c5511a1f89b37d15ee10b9 - [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#4c198542226223f6a5c5511a1f89b37d15ee10b9</link>
        <description>[libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)In preparation for running clang-format on the whole code base, we arealso removing mentions of the legacy _LIBCPP_INLINE_VISIBILITY macro infavor of the newer _LIBCPP_HIDE_FROM_ABI.We&apos;re still leaving the definition of _LIBCPP_INLINE_VISIBILITY to avoidcreating needless breakage in case some older patches are checked-inwith mentions of the old macro. After we branch for LLVM 18, we can doanother pass to clean up remaining uses of the macro that might havegotten introduced by mistake (if any) and remove the macro itself at thesame time. This is just a minor convenience to smooth out the transitionas much as possible.Seehttps://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-allfor the clang-format proposal.

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Mon, 04 Dec 2023 15:25:14 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>9f3e3efd98a29eb8df9e3ad43a573c9141d1ace2 - [libc++][NFC] Refactor __enable_if return types to defaulted template parameters</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#9f3e3efd98a29eb8df9e3ad43a573c9141d1ace2</link>
        <description>[libc++][NFC] Refactor __enable_if return types to defaulted template parametersThis brings most of the enable_ifs in libc++ to the same style. It also has the nice side-effect of reducing the size of names of these symbols, since the depedent return type is shorter.Reviewed By: #libc, ldionneSpies: ldionne, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D157787

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Sat, 02 Sep 2023 00:52:02 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>1e24b4d3fdf1ba31cdae4d46435d1cfa5e516cd5 - [libc++] Fix template parameter naming and enforce it through readability-identifier-naming</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#1e24b4d3fdf1ba31cdae4d46435d1cfa5e516cd5</link>
        <description>[libc++] Fix template parameter naming and enforce it through readability-identifier-namingReviewed By: #libc, MordanteSpies: Mordante, aheejin, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D156059

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 25 Jul 2023 02:53:39 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ca7a041626cdd79f9d7e9f8361676a46c4a3bba9 - [libc++][spaceship] Implement `operator&lt;=&gt;` for `stack`</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#ca7a041626cdd79f9d7e9f8361676a46c4a3bba9</link>
        <description>[libc++][spaceship] Implement `operator&lt;=&gt;` for `stack`Depends on D146066Depends on D132268Implements parts of P1614R2 `operator&lt;=&gt;` for `stack`Reviewed By: #libc, MordanteDifferential Revision: https://reviews.llvm.org/D146094

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Tue, 14 Mar 2023 19:18:55 +0000</pubDate>
        <dc:creator>Hristo Hristov &lt;zingam@outlook.com&gt;</dc:creator>
    </item>
<item>
        <title>87f3ff3e55e67709c3455a7ba105424be8ae84f2 - [libc++][ranges] Implement the changes to container adaptors from P1206 (`ranges::to`):</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#87f3ff3e55e67709c3455a7ba105424be8ae84f2</link>
        <description>[libc++][ranges] Implement the changes to container adaptors from P1206 (`ranges::to`):- add the `from_range_t` constructors and the related deduction guides;- add the `push_range` member function.(Note: this patch is split from https://reviews.llvm.org/D142335)Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D149829

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Sat, 03 Jun 2023 02:23:29 +0000</pubDate>
        <dc:creator>varconst &lt;varconsteq@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>80643d9366f4b5297ddc6627bb792f642ba1b0a5 - [libc++][NFC] Rename iterator category checks to make it obvious that they check //only// the iterator category</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/stack#80643d9366f4b5297ddc6627bb792f642ba1b0a5</link>
        <description>[libc++][NFC] Rename iterator category checks to make it obvious that they check //only// the iterator categoryWe plan to add concepts for checking that iterators actually provide what they claim to. This is to avoid people thinking that these type traits actually check the iterator requirements in more detail.Reviewed By: ldionne, #libcSpies: Mordante, libcxx-commits, wenleiDifferential Revision: https://reviews.llvm.org/D150801

            List of files:
            /llvm-project/libcxx/include/stack</description>
        <pubDate>Wed, 17 May 2023 17:34:51 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;n_klauser@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
