<?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 condition_variable</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/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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>c6f3b7bcd0596d30f8dabecdfb9e44f9a07b6e4c - [libc++] Refactor the configuration macros to being always defined (#112094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#c6f3b7bcd0596d30f8dabecdfb9e44f9a07b6e4c</link>
        <description>[libc++] Refactor the configuration macros to being always defined (#112094)This is a follow-up to #89178. This updates the `&lt;__config_site&gt;`macros.

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Wed, 06 Nov 2024 09:39:19 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>99174842aedf9aa571bdb23d07566965ff3c21e3 - [libc++] Make std::jthread supported in non-experimental mode (#107900)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#99174842aedf9aa571bdb23d07566965ff3c21e3</link>
        <description>[libc++] Make std::jthread supported in non-experimental mode (#107900)We waited before supporting std::jthread fully because we wanted toinvestigate other implementation strategies (in particular one involvingstd::mutex). Since then, we did some benchmarking and decided that wewouldn&apos;t be moving forward with std::mutex. Hence, there is no realreason to punt on making std::jthread &amp; friends non-experimental.

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Thu, 12 Sep 2024 13:48:59 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>04f01a2b9cedc291fa7dd941de841dc957c75a33 - [libc++] Make the __availability header a sub-header of __config (#93083)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#04f01a2b9cedc291fa7dd941de841dc957c75a33</link>
        <description>[libc++] Make the __availability header a sub-header of __config (#93083)In essence, this header has always been related to configuration ofthe library but we didn&apos;t want to put it inside &lt;__config&gt; due tocomplexity reasons. Now that we have sub-headers in &lt;__config&gt;, wecan move &lt;__availability&gt; to it and stop including it everywhere sincewe already obtain the required macros via &lt;__config&gt;.

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Wed, 29 May 2024 01:29:11 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@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/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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>7b4622514d232ce5f7110dd8b20d90e81127c467 - [libc++] Fix missing and incorrect push/pop macros (#79204)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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>85a8e5c3e0586e85a2fa3ff9cef12455bd039921 - [libc++] fix condition_variable_any hangs on stop_request (#77127)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#85a8e5c3e0586e85a2fa3ff9cef12455bd039921</link>
        <description>[libc++] fix condition_variable_any hangs on stop_request (#77127)When I implemented `condition_variable_any::wait`, I missed the mostimportant paragraph in the spec:&gt; The following wait functions will be notified when there is a stoprequest on the passed stop_token.&gt; In that case the functions return immediately, returning false if thepredicate evaluates to false.Fromhttps://eel.is/c++draft/thread.condition#thread.condvarany.intwait-1.Fixes #76807

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Sat, 20 Jan 2024 21:18:44 +0000</pubDate>
        <dc:creator>Hui &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 - [libc++] Format the code base (#74334)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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/history/llvm-project/libcxx/include/condition_variable#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/condition_variable</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>a65070a76a7c823c28f1c95a21e4857ed6e123ef - [libc++] Remove a few transitive includes (#70553)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#a65070a76a7c823c28f1c95a21e4857ed6e123ef</link>
        <description>[libc++] Remove a few transitive includes (#70553)

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Sun, 29 Oct 2023 17:31:37 +0000</pubDate>
        <dc:creator>philnik777 &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>4fa812bb52a5b1eea22750a1b59f94221d0df622 - [libc++] Implement `std::condition_variable_any::wait[_for/until]` overloads that take `stop_token`</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#4fa812bb52a5b1eea22750a1b59f94221d0df622</link>
        <description>[libc++] Implement `std::condition_variable_any::wait[_for/until]` overloads that take `stop_token`- This is section 32.6.4 of P0660R10- https://eel.is/c++draft/thread.condvarany.intwaitDifferential Revision: https://reviews.llvm.org/D153441

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Wed, 21 Jun 2023 16:40:07 +0000</pubDate>
        <dc:creator>Hui &lt;hui.xie0621@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f1ea0b11ca03d0f8b5785b7ec92d2eb673eeb4b9 - [libc++] Merge _LIBCPP_FUNC_VIS, _LIBCPP_TYPE_VIS and _LIBCPP_EXCEPTION_ABI into _LIBCPP_EXPORTED_FROM_ABI</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#f1ea0b11ca03d0f8b5785b7ec92d2eb673eeb4b9</link>
        <description>[libc++] Merge _LIBCPP_FUNC_VIS, _LIBCPP_TYPE_VIS and _LIBCPP_EXCEPTION_ABI into _LIBCPP_EXPORTED_FROM_ABIThese macros are always defined identically, so we can simplify the code a bit by merging them.Reviewed By: ldionne, #libcSpies: libcxx-commits, krytarowski, smeenaiDifferential Revision: https://reviews.llvm.org/D152652

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Wed, 14 Jun 2023 17:17:50 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>83ce139721260d176773d811f576289370f3313c - [libc++] Add hide_from_abi check for classes</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#83ce139721260d176773d811f576289370f3313c</link>
        <description>[libc++] Add hide_from_abi check for classesWe already have a clang-tidy check for making sure that `_LIBCPP_HIDE_FROM_ABI` is on free functions. This patch extends this to class members. The places where we don&apos;t check for `_LIBCPP_HIDE_FROM_ABI` are classes for which we have an instantiation in the library.Reviewed By: ldionne, Mordante, #libcSpies: jplehr, mikhail.ramalho, sstefan1, libcxx-commits, krytarowski, miyuki, smeenaiDifferential Revision: https://reviews.llvm.org/D142332

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Mon, 23 Jan 2023 09:27:14 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e8cfbfd05a951b85f80156dffc8eeecb34c7271c - [libc++] Granularize system_error.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#e8cfbfd05a951b85f80156dffc8eeecb34c7271c</link>
        <description>[libc++] Granularize system_error.Reviewed By: #libc, philnikDifferential Revision: https://reviews.llvm.org/D147853

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Sat, 08 Apr 2023 15:29:31 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>e655d8a54880cf550567dda0e9a1a33f6ee98df5 - [libc++] Granularize __mutex_base</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#e655d8a54880cf550567dda0e9a1a33f6ee98df5</link>
        <description>[libc++] Granularize __mutex_baseThis also updates the moved code to the current style. (i.e. `_VSTD` -&gt; `std`, `_LIBCPP_INLINE_VISIBILITY` -&gt; `_LIBCPP_HIDE_FROM_ABI`, clang-format).Reviewed By: Mordante, #libc, EricWFSpies: arichardson, libcxx-commits, mikhail.ramalhoDifferential Revision: https://reviews.llvm.org/D146228

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Thu, 09 Mar 2023 00:14:03 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c0cde79e9e3b3c5bb54c55b0eabe8142674028a4 - [libc++] Remove C++03 extensions for std::allocator_arg &amp; friends</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#c0cde79e9e3b3c5bb54c55b0eabe8142674028a4</link>
        <description>[libc++] Remove C++03 extensions for std::allocator_arg &amp; friendsAs explained in the release note, libc++ used to provide variousglobal variables as an extension in C++03 mode. Unfortunately, thatmade our definition non-conforming in all standard modes. This wasnever a big problem until recently, since we are trying to supportC++20 Modules in libc++, and that requires cleaning up the definitionof these variables.This change is the first in a series of changes to achieve our end goal.This patch removes the ability for users to rely on the (incorrect)definition of those global variables inside the shared library. Theplan is to then remove those definitions from the shared library(which is an ABI break but I don&apos;t think it will have impact), andfinally to make our definition of those variables conforming in allstandard modes.Differential Revision: https://reviews.llvm.org/D145422

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Mon, 06 Mar 2023 20:43:26 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>70617a1a2389a1abe6151d52dc749fb5f7755439 - [libc++] Granularize &lt;atomic&gt; includes</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#70617a1a2389a1abe6151d52dc749fb5f7755439</link>
        <description>[libc++] Granularize &lt;atomic&gt; includesReviewed By: ldionne, Mordante, #libcSpies: arichardson, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D144255

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Tue, 31 Jan 2023 18:23:30 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e0a66116fcccd59d12485810f5311efafa134ea5 - [libc++] Granularize &lt;type_traits&gt; includes in &lt;compare&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/condition_variable#e0a66116fcccd59d12485810f5311efafa134ea5</link>
        <description>[libc++] Granularize &lt;type_traits&gt; includes in &lt;compare&gt;Reviewed By: Mordante, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D140480

            List of files:
            /llvm-project/libcxx/include/condition_variable</description>
        <pubDate>Tue, 20 Dec 2022 23:07:17 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
</channel>
</rss>
