<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libcxx/include/future, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc++] Remove some of the uses of aligned_storage inside the library (#161635)</title>
<updated>2025-11-11T10:03:02+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-11-11T10:03:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c0bca9cb843cb11173222513ce190e0aec2b1d59'/>
<id>c0bca9cb843cb11173222513ce190e0aec2b1d59</id>
<content type='text'>
`aligned_storage` has been deprecated and will most likely be removed in
a future version of C++. This patch removes some of its uses to avoid
having to work around its removal in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`aligned_storage` has been deprecated and will most likely be removed in
a future version of C++. This patch removes some of its uses to avoid
having to work around its removal in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Use std::__{scope,exception}_guard throughout the code base (#161322)</title>
<updated>2025-10-09T07:32:40+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-10-09T07:32:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=446d9505246227b514aa6359f17106e1a9c65897'/>
<id>446d9505246227b514aa6359f17106e1a9c65897</id>
<content type='text'>
This simplifies the code quite a bit and seems to improve code size
slightly in some cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies the code quite a bit and seems to improve code size
slightly in some cases.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Refactor internal index_sequence API to match the public one (#149475)</title>
<updated>2025-07-20T09:23:31+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-07-20T09:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6c257754d955d55af048637b5048ee04d48a24b1'/>
<id>6c257754d955d55af048637b5048ee04d48a24b1</id>
<content type='text'>
The internal API is a lot more complicated than it actually needs to be.
This refactors the internal API to match the features and names of the
public one.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The internal API is a lot more complicated than it actually needs to be.
This refactors the internal API to match the features and names of the
public one.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Remove the `packaged_task::result_type` extension (#147671)</title>
<updated>2025-07-10T07:04:49+00:00</updated>
<author>
<name>A. Jiang</name>
<email>de34@live.cn</email>
</author>
<published>2025-07-10T07:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8b171a08db946ad382a3726d9deb9420d43a59ee'/>
<id>8b171a08db946ad382a3726d9deb9420d43a59ee</id>
<content type='text'>
No escape hatch added, as there doesn't seem anyone critically relying
on this.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No escape hatch added, as there doesn't seem anyone critically relying
on this.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++][NFC] Merge add_{r,l}value_reference.h (#147022)</title>
<updated>2025-07-05T16:11:36+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-07-05T16:11:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1121d64ba96d4293cf53f8e8b08a9170227264f8'/>
<id>1121d64ba96d4293cf53f8e8b08a9170227264f8</id>
<content type='text'>
The implementation is now quite simple, so it doesn't make a ton of
sense to have these in separate headers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The implementation is now quite simple, so it doesn't make a ton of
sense to have these in separate headers.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Don't try to wait on a thread that hasn't started in std::async, take 2 (#130145)</title>
<updated>2025-06-26T10:13:19+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-06-26T10:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=696c0f92e0fef955e331895cd8d65fb6cc080ad3'/>
<id>696c0f92e0fef955e331895cd8d65fb6cc080ad3</id>
<content type='text'>
If the creation of a thread fails, this causes an idle loop that will
never end because the thread wasn't started in the first place.

This also adds a test for the regression reported in #125433 to make
sure we're not reintroducing it later.

Fixes #125428</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the creation of a thread fails, this causes an idle loop that will
never end because the thread wasn't started in the first place.

This also adds a test for the regression reported in #125433 to make
sure we're not reintroducing it later.

Fixes #125428</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)" (#141756)</title>
<updated>2025-05-28T16:04:51+00:00</updated>
<author>
<name>James Y Knight</name>
<email>jyknight@google.com</email>
</author>
<published>2025-05-28T16:04:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c3656afdf111901977792c1d9589cb32ee1b6015'/>
<id>c3656afdf111901977792c1d9589cb32ee1b6015</id>
<content type='text'>
This reverts commit c861fe8a71e64f3d2108c58147e7375cd9314521.

Unfortunately, this use of hidden visibility attributes causes
user-defined specializations of standard-library types to also be marked
hidden by default, which is incorrect. See discussion thread on #131156.

...and also reverts the follow-up commits:

Revert "[libc++] Add explicit ABI annotations to functions from the block runtime declared in &lt;__functional/function.h&gt; (#140592)"
This reverts commit 3e4c9dc299c35155934688184319d391b298fff7.

Revert "[libc++] Make ABI annotations explicit for windows-specific code (#140507)"
This reverts commit f73287e623a6c2e4a3485832bc3e10860cd26eb5.

Revert "[libc++][NFC] Replace a few "namespace std" with the correct macro (#140510)"
This reverts commit 1d411f27c769a32cb22ce50b9dc4421e34fd40dd.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c861fe8a71e64f3d2108c58147e7375cd9314521.

Unfortunately, this use of hidden visibility attributes causes
user-defined specializations of standard-library types to also be marked
hidden by default, which is incorrect. See discussion thread on #131156.

...and also reverts the follow-up commits:

Revert "[libc++] Add explicit ABI annotations to functions from the block runtime declared in &lt;__functional/function.h&gt; (#140592)"
This reverts commit 3e4c9dc299c35155934688184319d391b298fff7.

Revert "[libc++] Make ABI annotations explicit for windows-specific code (#140507)"
This reverts commit f73287e623a6c2e4a3485832bc3e10860cd26eb5.

Revert "[libc++][NFC] Replace a few "namespace std" with the correct macro (#140510)"
This reverts commit 1d411f27c769a32cb22ce50b9dc4421e34fd40dd.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)</title>
<updated>2025-05-18T13:47:05+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-05-18T13:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c861fe8a71e64f3d2108c58147e7375cd9314521'/>
<id>c861fe8a71e64f3d2108c58147e7375cd9314521</id>
<content type='text'>
This patch introduces `_LIBCPP_{BEGIN,END}_EXPLICIT_ABI_ANNOTATIONS`,
which allow us to have implicit annotations for most functions, and just
where it's not "hide_from_abi everything" we add explicit annotations.
This allows us to drop the `_LIBCPP_HIDE_FROM_ABI` macro from most
functions in libc++.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch introduces `_LIBCPP_{BEGIN,END}_EXPLICIT_ABI_ANNOTATIONS`,
which allow us to have implicit annotations for most functions, and just
where it's not "hide_from_abi everything" we add explicit annotations.
This allows us to drop the `_LIBCPP_HIDE_FROM_ABI` macro from most
functions in libc++.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Use __underlying_type directly in underyling_type_t (#135423)</title>
<updated>2025-04-13T09:01:17+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-04-13T09:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f'/>
<id>4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f</id>
<content type='text'>
This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885)</title>
<updated>2025-04-09T21:47:57+00:00</updated>
<author>
<name>Nikolas Klauser</name>
<email>nikolasklauser@berlin.de</email>
</author>
<published>2025-04-09T21:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=af9c04fa689029c80451ec2c497509c7bd28534f'/>
<id>af9c04fa689029c80451ec2c497509c7bd28534f</id>
<content type='text'>
The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.</pre>
</div>
</content>
</entry>
</feed>
