<?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 string</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f4fb72e6 - [libc++] Use uninitialized algorithms for vector</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#f4fb72e6</link>
        <description>[libc++] Use uninitialized algorithms for vectorReviewed By: ldionne, #libcSpies: huixie90, eaeltsin, joanahalili, bgraur, alexfh, hans, avogelsgesang, augusto2112, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D128146

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Tue, 26 Jul 2022 14:13:56 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>1d057a6d - Revert &quot;[libc++] Use uninitialized algorithms for vector&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#1d057a6d</link>
        <description>Revert &quot;[libc++] Use uninitialized algorithms for vector&quot;This reverts commit 23cf42e706fbc2a939ce1470da16599b42258aea.

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Thu, 21 Jul 2022 21:19:20 +0000</pubDate>
        <dc:creator>Augusto Noronha &lt;augusto2112@me.com&gt;</dc:creator>
    </item>
<item>
        <title>23cf42e7 - [libc++] Use uninitialized algorithms for vector</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#23cf42e7</link>
        <description>[libc++] Use uninitialized algorithms for vectorReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D128146

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Wed, 20 Jul 2022 18:24:46 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>de4a57cb - [libc++] Re-add transitive includes that had been removed since LLVM 14</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#de4a57cb</link>
        <description>[libc++] Re-add transitive includes that had been removed since LLVM 14This commit re-adds transitive includes that had been removed by4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,and 489637e66dd3. This should cover almost all the includes that hadbeen removed since LLVM 14 and that would contribute to breaking usercode when releasing LLVM 15.It is possible to disable the inclusion of these headers by defining_LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors willenable that macro and start fixing downstream issues immediately. Wecan then remove the macro (and the transitive includes) by default ina future release. That way, we will break users only once by removingtransitive includes in bulk instead of doing it bit by bit a everyrelease, which is more disruptive for users.Note 1: The set of headers to re-add was found by re-generating the        transitive include test on a checkout of release/14.x, which        provided the list of all transitive includes we used to provide.Note 2: Several includes of &lt;vector&gt;, &lt;optional&gt;, &lt;array&gt; and &lt;unordered_map&gt;        have been added in this commit. These transitive inclusions were        added when we implemented boyer_moore_searcher in &lt;functional&gt;.Note 3: This is a best effort patch to try and resolve downstream breakage        caused since branching LLVM 14. I wasn&apos;t able to perfectly mirror        transitive includes in LLVM 14 for a few headers, so I added a        release note explaining it. To summarize, adding boyer_moore_searcher        created a bunch of circular dependencies, so we have to break        backwards compatibility in a few cases.Differential Revision: https://reviews.llvm.org/D128661

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Mon, 27 Jun 2022 19:53:41 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>60f7bdfd - [libc++][AIX] Make basic_string layout compatible with earlier version</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#60f7bdfd</link>
        <description>[libc++][AIX] Make basic_string layout compatible with earlier versionSummary:Patch D123580 changed to use bit fields for strings in long and short mode. As a result, this changes the layout of these strings on AIX because bit fields on AIX are 4 bytes, which breaks the ABI compatibility with earlier strings before the change on AIX. This patch uses the attribute &apos;packed&apos; and anonymous structure to make string layout compatible. This patch will also make test cases alignof.compile.pass.cpp and sizeof.compile.pass.cpp introduced in D127672 pass on AIX.Reviewed by: philnik, Mordante, hubert.reinterpretcast, libc++Differential Revision: https://reviews.llvm.org/D128285

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Fri, 24 Jun 2022 21:25:15 +0000</pubDate>
        <dc:creator>Xing Xue &lt;xingxue@outlook.com&gt;</dc:creator>
    </item>
<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/string#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/string</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>db1978b6 - [libc++] Mark standard-mandated includes as such</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#db1978b6</link>
        <description>[libc++] Mark standard-mandated includes as suchReviewed By: ldionne, Mordante, #libc, saugustineSpies: saugustine, MaskRay, arichardson, mstorsjo, jloser, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D127953

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Thu, 16 Jun 2022 20:43:46 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>4cd04d16 - [libc++] Removes unneeded &lt;iterator&gt; includes.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#4cd04d16</link>
        <description>[libc++] Removes unneeded &lt;iterator&gt; includes.Reviewed By: #libc, philnikDifferential Revision: https://reviews.llvm.org/D127675

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Mon, 13 Jun 2022 18:05:36 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>ee78181f - [libc++] Remove macros for IBM compiler</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#ee78181f</link>
        <description>[libc++] Remove macros for IBM compilerIt&apos;s not tested or used anymore -- instead a Clang-based compiler isused on IBM nowadays.Differential Revision: https://reviews.llvm.org/D127650

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Mon, 13 Jun 2022 15:21:16 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c36870c8 - [libc++] Removes unneeded includes.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#c36870c8</link>
        <description>[libc++] Removes unneeded includes.This removes all &quot;TODO: remove these headers&quot; comments from our headers.Note there seem to be more headers that can be removed, that will bedone in separate commits.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D127592

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Sun, 12 Jun 2022 09:55:47 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>0d108f79 - [libc++] Use unsigned char in basic_string::__short again</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#0d108f79</link>
        <description>[libc++] Use unsigned char in basic_string::__short againD125496 changed the string layout on windows. Change `__is_long_` and `__size_` back to using `unsigned char` to fix the issue.Reviewed By: Mordante, #libcSpies: jloser, libcxx-commits, ayzhaoDifferential Revision: https://reviews.llvm.org/D127566

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Sat, 11 Jun 2022 21:43:00 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>3cd4531b - [libc++] Granularize &lt;iterator&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#3cd4531b</link>
        <description>[libc++] Granularize &lt;iterator&gt; includesReviewed By: ldionne, #libcSpies: libcxx-commits, wenleiDifferential Revision: https://reviews.llvm.org/D127445

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Fri, 10 Jun 2022 17:53:10 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>976f3705 - [libc++] Granularize __string</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#976f3705</link>
        <description>[libc++] Granularize __stringReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D127156

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Mon, 06 Jun 2022 21:35:24 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>2ae52326 - [libc++] Towards a simpler extern template story in libc++</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#2ae52326</link>
        <description>[libc++] Towards a simpler extern template story in libc++The flexibility around extern template instantiation declarations inlibc++ result in a very complicated model, especially when support forslightly different configurations (like the debug mode or assertionsin the dylib) are taken into account. That results in unexpected bugslike http://llvm.org/PR50534 (and there have been multiple similarbugs in the past, notably around the debug mode).This patch gets rid of the _LIBCPP_DISABLE_EXTERN_TEMPLATE knob, whichI don&apos;t think is fundamental. Indeed, the motivation for that knob was toavoid taking a dependency on the library, however that can be done betterby linking against the static library instead. And in fact, some parts ofthe headers will always depend on things defined in the library, whichdefeats the original goal of _LIBCPP_DISABLE_EXTERN_TEMPLATE.Differential Revision: https://reviews.llvm.org/D103960

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Tue, 08 Jun 2021 21:25:08 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f3966eaf - [libc++] Make the Debug mode a configuration-time only option</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#f3966eaf</link>
        <description>[libc++] Make the Debug mode a configuration-time only optionThe debug mode has been broken pretty much ever since it was shippedbecause it was possible to enable the debug mode in user code withoutactually enabling it in the dylib, leading to ODR violations thatcaused various kinds of failures.This commit makes the debug mode a knob that is configured whenbuilding the library and which can&apos;t be changed afterwards. This isless flexible for users, however it will actually work as intendedand it will allow us, in the future, to add various kinds of checksthat do not assume the same ABI as the normal library. Furthermore,this will make the debug mode more robust, which means that vendorsmight be more tempted to support it properly, which hasn&apos;t been thecase with the current debug mode.This patch shouldn&apos;t break any user code, except folks who are buildingagainst a library that doesn&apos;t have the debug mode enabled and who tryto enable the debug mode in their code. Such users will get a compile-timeerror explaining that this configuration isn&apos;t supported anymore.In the future, we should further increase the granularity of the debugmode checks so that we can cherry-pick which checks to enable, like wedo for unspecified behavior randomization.Differential Revision: https://reviews.llvm.org/D122941

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Fri, 01 Apr 2022 20:38:30 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4eab04f8 - [libc++] Remove a bunch of conditionals on _LIBCPP_DEBUG_LEVEL</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#4eab04f8</link>
        <description>[libc++] Remove a bunch of conditionals on _LIBCPP_DEBUG_LEVELInstead of providing two different constructors for iterators thatsupport the debug mode, provide a single constructor but leave thecontainer parameter unused when the debug mode is not enabled.This allows simplifying all the call sites to unconditionally passthe container, which removes a bunch of duplication in the container&apos;simplementation.Note that this patch does add some complexity to std::span, howeverthat is only because std::span has the ability to use raw pointersas iterators instead of __wrap_iter. In retrospect, I believe it wasa mistake to provide that capability, and so it will be removed in afuture patch, along with the complexity added by this patch.Differential Revision: https://reviews.llvm.org/D126993

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Fri, 03 Jun 2022 19:17:03 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>34f73804 - [libc++] Remove unused __functional includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#34f73804</link>
        <description>[libc++] Remove unused __functional includesReviewed By: ldionne, #libcSpies: arichardson, smeenai, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D126098

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Fri, 20 May 2022 22:45:51 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>5d55ffe9 - [libc++] Simplify the string structures a bit more</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#5d55ffe9</link>
        <description>[libc++] Simplify the string structures a bit moreThis simplifies the string structs a bit more and the normal layout should not contain any undefined behaviour anymore. I don&apos;t think there is a way to achieve this in the alternate string mode without breaking the ABI.Reviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D125496

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Sat, 14 May 2022 10:38:00 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c095440c - [libc++] Remove __invalidate_all_iterators and replace the uses with std::__debug_db_invalidate_all</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#c095440c</link>
        <description>[libc++] Remove __invalidate_all_iterators and replace the uses with std::__debug_db_invalidate_allReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D125188

            List of files:
            /llvm-project-15.0.7/libcxx/include/string</description>
        <pubDate>Sun, 08 May 2022 14:40:04 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>08f68dfe - [libc++] Add a few more debug wrapper functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/string#08f68dfe</link>
        <description>[libc++] Add a few more debug wrapper functionsReviewed By: ldionne, #libc, jloserSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D125176

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