<?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 shared_ptr.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>681cde7d - [libc++] Complete the implementation of N4190</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#681cde7d</link>
        <description>[libc++] Complete the implementation of N4190Fixes #37402Reviewed By: ldionneSpies: EricWF, avogelsgesang, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D124346

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Wed, 22 Jun 2022 08:11:14 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>971e9c80 - [libc++] Implement std::boyer_moore{, _horspool}_searcher</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#971e9c80</link>
        <description>[libc++] Implement std::boyer_moore{, _horspool}_searcherThis mostly copys the `&lt;experimental/functional&gt;` stuff and updates the code to current libc++ style.Reviewed By: ldionne, #libcSpies: nlopes, adamdebreceni, arichardson, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D121074

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 17 Jun 2022 14:02:53 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>0cc34ca7 - [libc++] Define legacy symbols for inline functions at a finer-grained level</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#0cc34ca7</link>
        <description>[libc++] Define legacy symbols for inline functions at a finer-grained levelWhen we build the library with the stable ABI, we need to include somefunctions in the dylib that were made inline in later versions of thelibrary (to avoid breaking code that might be relying on those symbols).However, those methods were made non-inline whenever we&apos;d be buildingthe library, which means that all translation units would end up usingthe old out-of-line definition of these methods, as opposed to the newinlined version. This patch makes it so that only the translation unitsthat actually define the out-of-line methods use the old definition,opening up potential optimization opportunities in other translationunits.This should solve some of the issues encountered in D65667.Differential Revision: https://reviews.llvm.org/D123519

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 11 Apr 2022 16:32:40 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b9ca1e5a - [libc++][NFC] Use noexcept instead of _NOEXCEPT for code compiled into the library</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#b9ca1e5a</link>
        <description>[libc++][NFC] Use noexcept instead of _NOEXCEPT for code compiled into the libraryWe build the library with C++20 anyways, so we can use noexcept directly.

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 11 Apr 2022 16:30:38 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e27a122b - [libc++] Support arrays in make_shared and allocate_shared (P0674R1)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#e27a122b</link>
        <description>[libc++] Support arrays in make_shared and allocate_shared (P0674R1)This patch implements P0674R1, i.e. support for arrays in std::make_sharedand std::allocate_shared.Co-authored-by: Zoe Carver &lt;z.zoelec2@gmail.com&gt;Differential Revision: https://reviews.llvm.org/D62641

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Tue, 26 Oct 2021 17:12:12 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>34538dba - [libc++] Make shared_ptr move unique_ptr&apos;s deleter</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#34538dba</link>
        <description>[libc++] Make shared_ptr move unique_ptr&apos;s deleterAddresses LWG 3548 which mandates that when shared_ptr is being constructed from a unique_ptr, the unique_ptr&apos;s deleter should be moved and not copied.Reviewed By: #libc, philnik, EricWFDifferential Revision: https://reviews.llvm.org/D119159

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 18 Mar 2022 17:36:25 +0000</pubDate>
        <dc:creator>Asher Mancinelli &lt;ashermancinelli@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a54d0288 - Revert &quot;[libc++] Remove extension to support allocator&lt;const T&gt;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#a54d0288</link>
        <description>Revert &quot;[libc++] Remove extension to support allocator&lt;const T&gt;&quot;This reverts commit 276ca873. That commit has quite a history at thispoint. It was first landed in dbc647643577, which broke std::shared_ptr&lt;T const&gt;and was reverted in 9138666f5. It was then re-applied in 276ca873, withthe std::shared_ptr issue fixed, but it caused widespread breakage atGoogle (which suggests it would cause similar breakage in the wild too),so now I&apos;m reverting again.Instead, I will add a escape hatch that vendors can turn on to enablethe extension and perform a phased transition over one or two releaseslike we sometimes do when things become non-trivial.

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Wed, 09 Mar 2022 21:59:59 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>276ca873 - [libc++] Remove extension to support allocator&lt;const T&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#276ca873</link>
        <description>[libc++] Remove extension to support allocator&lt;const T&gt;This extension is a portability trap for users, since no other standardlibrary supports it. Furthermore, the Standard explicitly allowsimplementations to reject std::allocator&lt;cv T&gt;, so allowing it isreally going against the current.This was discovered in D120684: this extension required `const_cast`ingin `__construct_range_forward`, a fishy bit of code that can be removedif we don&apos;t support the extension anymore.This is a re-application of dbc647643577, which was reverted in 9138666f5because it broke std::shared_ptr&lt;T const&gt;. Tests have now been added andwe&apos;ve made sure that std::shared_ptr&lt;T const&gt; wouldn&apos;t be broken in thisversion.Differential Revision: https://reviews.llvm.org/D120996

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 04 Mar 2022 14:54:29 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>9138666f - Revert &quot;[libc++] Remove extension to support allocator&lt;const T&gt;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#9138666f</link>
        <description>Revert &quot;[libc++] Remove extension to support allocator&lt;const T&gt;&quot;This reverts commit bed3240bf7d196a17cc31f1c5b59b4721017e638.I will need to add more tests for std::shared_ptr&lt;T const&gt; beforere-landing this.

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 07 Mar 2022 22:34:17 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>bed3240b - [libc++] Remove extension to support allocator&lt;const T&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#bed3240b</link>
        <description>[libc++] Remove extension to support allocator&lt;const T&gt;This extension is a portability trap for users, since no other standardlibrary supports it. Furthermore, the Standard explicitly allowsimplementations to reject std::allocator&lt;cv T&gt;, so allowing it isreally going against the current.This was discovered in D120684: this extension required `const_cast`ingin `__construct_range_forward`, a fishy bit of code that can be removedif we don&apos;t support the extension anymore.Differential Revision: https://reviews.llvm.org/D120996

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 04 Mar 2022 14:54:29 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>52915d78 - [libc++] Granularize &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#52915d78</link>
        <description>[libc++] Granularize &lt;utility&gt; includesReviewed By: ldionne, #libcSpies: EricWF, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D120466

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Sat, 05 Mar 2022 18:17:07 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>368faaca - [libc++] Revert &quot;Protect users from relying on detail headers&quot; &amp; related changes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#368faaca</link>
        <description>[libc++] Revert &quot;Protect users from relying on detail headers&quot; &amp; related changesThis commit reverts 5aaefa51 (and also partly 7f285f48e77 and b6d75682f9,which were related to the original commit). As landed, 5aaefa51 hadunintended consequences on some downstream bots and didn&apos;t have propercoverage upstream due to a few subtle things. Implementing this issomething we should do in libc++, however we&apos;ll first need to addressa few issues listed in https://reviews.llvm.org/D106124#3349710.Differential Revision: https://reviews.llvm.org/D120683

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 28 Feb 2022 21:37:25 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5aaefa51 - [libcxx][modules] protects users from relying on detail headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#5aaefa51</link>
        <description>[libcxx][modules] protects users from relying on detail headerslibc++ has started splicing standard library headers into much morefine-grained content for maintainability. It&apos;s very likely that outdatedand naive tooling (some of which is outside of LLVM&apos;s scope) willsuggest users include things such as &lt;__ranges/access.h&gt; instead of&lt;ranges&gt;, and Hyrum&apos;s law suggests that users will eventually begin torely on this without the help of tooling. As such, this commitintends to protect users from themselves, by making it a hard error foranyone outside of the standard library to include libc++ detail headers.Differential Revision: https://reviews.llvm.org/D106124

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 25 Feb 2022 18:59:32 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>169a66ea - [libc++] Remove __functional_base</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#169a66ea</link>
        <description>[libc++] Remove __functional_baseReviewed By: ldionne, Quuxplusone, #libcSpies: Mordante, mgorny, libcxx-commits, arichardson, llvm-commits, arphamanDifferential Revision: https://reviews.llvm.org/D119439

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 11 Feb 2022 18:15:18 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ea2206d7 - [libc++] Replace includes of &lt;utility&gt; with specific detail headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#ea2206d7</link>
        <description>[libc++] Replace includes of &lt;utility&gt; with specific detail headersBasically a rebase of D104980; most of that patch had already happenedvia gradual drive-by changes, but this finishes it up.Don&apos;t touch the inclusions from `&lt;__functional_base&gt;`, `&lt;__hash_table&gt;`,or `&lt;__locale&gt;`; those could be removed if we propagated theinclusions up to the includers of those files, but there are lotsof those includers.`&lt;algorithm&gt;`, `&lt;functional&gt;`, and `&lt;memory&gt;` already include `&lt;utility&gt;`at the top level. `&lt;iterator&gt;` did not, so I&apos;ve added it there.Differential Revision: https://reviews.llvm.org/D119020

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 04 Feb 2022 18:09:30 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&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/__memory/shared_ptr.h#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/__memory/shared_ptr.h</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>4d81a46f - [libc++] Alphabetize header #includes. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#4d81a46f</link>
        <description>[libc++] Alphabetize header #includes. NFCI.The NFC part of D116809. We still want to enforce this in CI,but the mechanism for that is still to-be-determined.Differential Revision: https://reviews.llvm.org/D116809

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Fri, 07 Jan 2022 14:45:05 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>92832e48 - [libc++] Enable &lt;atomic&gt; when threads are disabled</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#92832e48</link>
        <description>[libc++] Enable &lt;atomic&gt; when threads are disabledstd::atomic is, for the most part, just a thin veneer on top of compilerbuiltins. Hence, it should be available even when threads are not availableon the system, and in fact there has been requests for such support.This patch:- Moves __libcpp_thread_poll_with_backoff to its own header so it can  be used in &lt;atomic&gt; when threads are disabled.- Adds a dummy backoff policy for atomic polling that doesn&apos;t know about  threads.- Adjusts the &lt;atomic&gt; feature-test macros so they are provided even when  threads are disabled.- Runs the &lt;atomic&gt; tests when threads are disabled.rdar://77873569Differential Revision: https://reviews.llvm.org/D114109

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Wed, 17 Nov 2021 15:59:31 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b2d25ef2 - [libc++] Implement shared_ptr methods inline in the class</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#b2d25ef2</link>
        <description>[libc++] Implement shared_ptr methods inline in the classThis patch refactors the shared_ptr methods from being defined out-of-lineto being defined inline in the class, like what we do for all new code inthe library. The benefits of doing that are that code is not as scatteredaround and is hence easier to understand, and it avoids a ton of duplicationdue to SFINAE checks. Defining the method where it is declared also removesthe possibility for mismatched attributes.As a fly-by change, this also:- Adds a few _LIBCPP_HIDE_FROM_ABI attributes- Uses __enable_if_t instead of enable_if as a function argument, to match  the style that we use everywhere else.Differential Revision: https://reviews.llvm.org/D112478

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 25 Oct 2021 19:05:27 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>065ac300 - [libc++] LWG3001: add `remove_extent_t` to `weak_ptr::element_type`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h#065ac300</link>
        <description>[libc++] LWG3001: add `remove_extent_t` to `weak_ptr::element_type`.Also fix a few places in the `shared_ptr` implementation where`element_type` was passed to the `__is_compatible` helper. This couldresult in `remove_extent` being applied twice to the pointer&apos;s templatetype (first by the definition of `element_type` and then by the helper),potentially leading to somewhat less readable error messages for someincorrect code.Differential Revision: https://reviews.llvm.org/D112092

            List of files:
            /llvm-project-15.0.7/libcxx/include/__memory/shared_ptr.h</description>
        <pubDate>Mon, 25 Oct 2021 15:15:38 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
