<?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>55c5dad2 - Merge commit 382f70a877f0 from llvm-project (by Louis Dionne):</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#55c5dad2</link>
        <description>Merge commit 382f70a877f0 from llvm-project (by Louis Dionne):  [libc++][NFC] Rewrite function call on two lines for clarity (#79141)  Previously, there was a ternary conditional with a less-than comparison  appearing inside a template argument, which was really confusing because  of the &lt;...&gt; of the function template. This patch rewrites the same  statement on two lines for clarity.Merge commit d129ea8d2fa3 from llvm-project (by Vitaly Buka):  [libcxx] Align `__recommend() + 1`  by __endian_factor (#90292)  This is detected by asan after #83774  Allocation size will be divided by `__endian_factor` before storing. If  it&apos;s not aligned,  we will not be able to recover allocation size to pass into  `__alloc_traits::deallocate`.  we have code like this  ```   auto __allocation = std::__allocate_at_least(__alloc(), __recommend(__sz) + 1);      __p               = __allocation.ptr;      __set_long_cap(__allocation.count);  void __set_long_cap(size_type __s) _NOEXCEPT {      __r_.first().__l.__cap_     = __s / __endian_factor;      __r_.first().__l.__is_long_ = true;    }  size_type __get_long_cap() const _NOEXCEPT {      return __r_.first().__l.__cap_ * __endian_factor;    }  inline ~basic_string() {      __annotate_delete();      if (__is_long())        __alloc_traits::deallocate(__alloc(), __get_long_pointer(), __get_long_cap());    }  ```  1. __recommend() -&gt; even size  2. `std::__allocate_at_least(__alloc(), __recommend(__sz) + 1)` - &gt; not  even size  3. ` __set_long_cap() `- &gt; lose one bit of size for __endian_factor == 2  (see `/ __endian_factor`)  4. `__alloc_traits::deallocate(__alloc(), __get_long_pointer(),  __get_long_cap())` -&gt; uses even size (see `__get_long_cap`)This should fix incorrect deallocation sizes for some instances ofstd::string. Memory profiling or debugging tools like AddressSanitizer,LeakSanitizer or TCMalloc could then complain about the the size passedto a deallocation not matching the size originally passed to theallocation.Reported by:	Aliaksei Kandratsenka &lt;alkondratenko@gmail.com&gt;PR:		279560MFC after:	3 days(cherry picked from commit ead8e4c081e5c4de4d508fc353f381457b058ca6)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Fri, 07 Jun 2024 18:42:53 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b9d9368b - Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#b9d9368b</link>
        <description>Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.PR:		276104MFC after:	1 month(cherry picked from commit b3edf4467982447620505a28fc82e38a414c07dc)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Wed, 07 Feb 2024 14:58:02 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>a58f00ea - Merge llvm-project main llvmorg-18-init-18359-g93248729cfae</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#a58f00ea</link>
        <description>Merge llvm-project main llvmorg-18-init-18359-g93248729cfaeThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, thelast commit before the upstream release/18.x branch was created.PR:		276104MFC after:	1 month(cherry picked from commit 7a6dacaca14b62ca4b74406814becb87a3fefac0)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Wed, 24 Jan 2024 19:17:23 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e710425b - Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#e710425b</link>
        <description>Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6aThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.PR:		276104MFC after:	1 month(cherry picked from commit cb14a3fe5122c879eae1fb480ed7ce82a699ddb6)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Mon, 25 Dec 2023 17:35:41 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>c9157d92 - Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#c9157d92</link>
        <description>Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fbThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.PR:		276104MFC after:	1 month(cherry picked from commit 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Mon, 18 Dec 2023 20:30:12 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>fe013be4 - Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#fe013be4</link>
        <description>Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, thelast commit before the upstream release/17.x branch was created.PR:		273753MFC after:	1 month(cherry picked from commit 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Sat, 02 Sep 2023 21:17:18 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0b57cec5 - Move all sources from the llvm project into contrib/llvm-project.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/contrib/llvm-project/libcxx/include/string#0b57cec5</link>
        <description>Move all sources from the llvm project into contrib/llvm-project.This uses the new layout of the upstream repository, which was recentlymigrated to GitHub, and converted into a &quot;monorepo&quot;.  That is, most ofthe earlier separate sub-projects with their own branches and tags wereconsolidated into one top-level directory, and are now branched andtagged together.Updating the vendor area to match this layout is next.

            List of files:
            /freebsd-14.2/contrib/llvm-project/libcxx/include/string</description>
        <pubDate>Fri, 20 Dec 2019 19:53:05 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dim@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
