<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in cstddef</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/source/history/llvm-project/libcxx/include/cstddef#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/cstddef</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/source/history/llvm-project/libcxx/include/cstddef#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/cstddef</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>d6832a611a7c4ec36f08b1cfe9af850dad32da2e - [libc++][modules] Modularize &lt;cstddef&gt; (#107254)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#d6832a611a7c4ec36f08b1cfe9af850dad32da2e</link>
        <description>[libc++][modules] Modularize &lt;cstddef&gt; (#107254)Many headers include `&lt;cstddef&gt;` just for size_t, and pulling inadditional content (e.g. the traits used for std::byte) is unnecessary.To solve this problem, this patch splits up `&lt;cstddef&gt;` intosubcomponents so that headers can include only the parts that theyactually require.This has the added benefit of making the modules build a lot stricterwith respect to IWYU, and also providing a canonical location where wedefine `std::size_t` and friends (which were previously defined inmultiple headers like `&lt;cstddef&gt;` and `&lt;ctime&gt;`).After this patch, there&apos;s still many places in the codebase where weinclude `&lt;cstddef&gt;` when `&lt;__cstddef/size_t.h&gt;` would be sufficient.This patch focuses on removing `&lt;cstddef&gt;` includes from __type_traitsto make these headers non-circular with `&lt;cstddef&gt;`. Additionalrefactorings can be tackled separately.

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Thu, 05 Sep 2024 12:28:33 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a3f8790901cafaec8bcd863bd30b4f9ab7917bd8 - [libc++][NFC] Minor reformatting in &lt;cstddef&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#a3f8790901cafaec8bcd863bd30b4f9ab7917bd8</link>
        <description>[libc++][NFC] Minor reformatting in &lt;cstddef&gt;

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Fri, 30 Aug 2024 19:38:02 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>83bc7b57714dc2f6b33c188f2b95a0025468ba51 - [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#83bc7b57714dc2f6b33c188f2b95a0025468ba51</link>
        <description>[libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)This also adds a few tests that were missing.

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Mon, 22 Apr 2024 20:13:58 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>37dca605c9bd41732da010ee97ed15ad9585a37d - [libc++] Clean up includes of &lt;__assert&gt; (#80091)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#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/cstddef</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>9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 - [libc++] Format the code base (#74334)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#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/cstddef</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>b81c69415e47bcf59801cb751eed08a6d1cb23f1 - [libc++][NFC] Add a few explicit &apos;inline&apos; keywords, mostly in &lt;chrono&gt; (#75234)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#b81c69415e47bcf59801cb751eed08a6d1cb23f1</link>
        <description>[libc++][NFC] Add a few explicit &apos;inline&apos; keywords, mostly in &lt;chrono&gt; (#75234)Even though constexpr implicitly makes functions inline, we try not torely on this implicit effect in the code base. We are mostly consistentabout using `inline` on non-template free-functions to make it clearthat we don&apos;t have an ODR violation.This patch simply fixes a few places where we didn&apos;t explicitly useinline on non-template free functions, presumably because they wereconstexpr.Fixes #75227

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Wed, 13 Dec 2023 15:17:27 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>640274ff1fe17852615564a80d9f8c69b67f1d59 - [libc++][NFC] Refactor __enable_ifs in &lt;cstddef&gt; to be defaulted</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#640274ff1fe17852615564a80d9f8c69b67f1d59</link>
        <description>[libc++][NFC] Refactor __enable_ifs in &lt;cstddef&gt; to be defaultedtemplate argumentsThis makes the library more consistent and reduces the size of manglednames a bit as a bonus.

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Sun, 29 Oct 2023 10:49:50 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>4f15267d3dd797a15901fe9352f0d5fa121b9095 - [libc++][NFC] Replace _LIBCPP_STD_VER &gt; x with _LIBCPP_STD_VER &gt;= x</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#4f15267d3dd797a15901fe9352f0d5fa121b9095</link>
        <description>[libc++][NFC] Replace _LIBCPP_STD_VER &gt; x with _LIBCPP_STD_VER &gt;= xThis change is almost fully mechanical. The only interesting change is in `generate_feature_test_macro_components.py` to generate `_LIBCPP_STD_VER &gt;=` instead. To avoid churn in the git-blame this commit should be added to the `.git-blame-ignore-revs` once committed.Reviewed By: ldionne, var-const, #libcSpies: jloser, libcxx-commits, arichardson, arphaman, wenleiDifferential Revision: https://reviews.llvm.org/D143962

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Mon, 13 Feb 2023 23:56:09 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>8cedff10a18d8eba9190a645626fa6a509c1f139 - [libc++] Diagnose when header search paths are set up incorrectly</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#8cedff10a18d8eba9190a645626fa6a509c1f139</link>
        <description>[libc++] Diagnose when header search paths are set up incorrectlyAn issue I often see in codebases compiled for unusual platforms isthat header search paths are specified manually and are subtly wrong.For example, people will manually add `-isystem &lt;some-toolchain&gt;/usr/include`,which ends up messing up the layering of header search paths required bylibc++ (because the C Standard Library now appears *before* libc++ inthe search paths). Without this patch, this will end up causingcompilation errors that are pretty inscrutable. This patch aims toimprove the user experience by diagnosing this issue explicitly.In all cases I can think of, I would expect that a compilation erroroccur if these header search paths are not layered properly. Thisshould only provide an explicit diagnostic instead of failing dueto seemingly unrelated compilation errors.Differential Revision: https://reviews.llvm.org/D131441

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Mon, 08 Aug 2022 21:03:56 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>80c7e93a2a8448fa16fe28b99c733e93ec64df51 - [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#80c7e93a2a8448fa16fe28b99c733e93ec64df51</link>
        <description>[libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABIReviewed By: ldionne, Mordante, var-const, huixie90, #libcSpies: jloser, libcxx-commits, arichardson, miyukiDifferential Revision: https://reviews.llvm.org/D129968

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Sat, 13 Aug 2022 11:23:16 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>7e69bd9bf00ece8ac63aab91f73673d0d731bc24 - [libc++] Use __enable_if_t and is_integral in cstddef</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#7e69bd9bf00ece8ac63aab91f73673d0d731bc24</link>
        <description>[libc++] Use __enable_if_t and is_integral in cstddefReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D126469

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Sat, 28 May 2022 13:22:25 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>eebc1fb772c56df9958fb916b41ff3c329fae145 - [libc++] Granularize parts of &lt;type_traits&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#eebc1fb772c56df9958fb916b41ff3c329fae145</link>
        <description>[libc++] Granularize parts of &lt;type_traits&gt;`&lt;type_traits&gt;` is quite a large header, so I&apos;ll granularize it in a few steps.Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D124755

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Fri, 20 May 2022 21:31:13 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>385cc25a531a72c393cee44689e2c3194615bcec - [libc++] Ensure that all public C++ headers include &lt;__assert&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#385cc25a531a72c393cee44689e2c3194615bcec</link>
        <description>[libc++] Ensure that all public C++ headers include &lt;__assert&gt;This patch changes the requirement for getting the declaration of theassertion handler from including &lt;__assert&gt; to including any publicC++ header of the library. Note that C compatibility headers areexcluded because we don&apos;t implement all the C headers ourselves --some of them are taken straight from the C library, like assert.h.It also adds a generated test to check it. Furthermore, this newgenerated test is designed in a way that will make it possible toreplace almost all the existing test-generation scripts with thissystem in upcoming patches.Differential Revision: https://reviews.llvm.org/D122506

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Fri, 25 Mar 2022 16:55:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>157bbe6aea22e87c822f6cda3cd404b8f657dce4 - [libc++] Remove the ability to use the std::nullptr_t emulation in C++03 mode</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#157bbe6aea22e87c822f6cda3cd404b8f657dce4</link>
        <description>[libc++] Remove the ability to use the std::nullptr_t emulation in C++03 modeBack in https://reviews.llvm.org/D109459, we stopped using the C++03emulation for std::nullptr_t by default, which was an ABI break. Westill left a knob for users to turn it back on if they were broken bythe change, with a note that we would remove that knob after one release.The time has now come to remove the knob and clean up the std::nullptr_temulation.Differential Revision: https://reviews.llvm.org/D114786

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Wed, 08 Sep 2021 16:57:58 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>fa6b9e401085c0a210daf81ae79af6dd0144f129 - [libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#fa6b9e401085c0a210daf81ae79af6dd0144f129</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/libcxx/include/cstddef</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>9c52a19e32ae6cbc2507a3fe50c915d72a1c4394 - [libc++][NFC] Add namespace comments in ranges</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#9c52a19e32ae6cbc2507a3fe50c915d72a1c4394</link>
        <description>[libc++][NFC] Add namespace comments in rangesWith this patch there should be no more namespaces without closing commentReviewed By: ldionne, Quuxplusone, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D118668

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Tue, 01 Feb 2022 17:11:49 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>eb8650a75793b2bd079d0c8901ff066f129061da - [runtimes][NFC] Remove filenames at the top of the license notice</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#eb8650a75793b2bd079d0c8901ff066f129061da</link>
        <description>[runtimes][NFC] Remove filenames at the top of the license noticeWe&apos;ve stopped doing it in libc++ for a while now because these nameswould end up rotting as we move things around and copy/paste stuff.This cleans up all the existing files so as to stop the spreadingas people copy-paste headers around.

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Wed, 17 Nov 2021 21:25:01 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f4c1258d5633fcf06385ff3fd1f4bf57ab971964 - [libc++] Add an option to disable wide character support in libc++</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstddef#f4c1258d5633fcf06385ff3fd1f4bf57ab971964</link>
        <description>[libc++] Add an option to disable wide character support in libc++Some embedded platforms do not wish to support the C library functionalityfor handling wchar_t because they have no use for it. It makes sense forlibc++ to work properly on those platforms, so this commit adds a carve-outof functionality for wchar_t.Unfortunately, unlike some other carve-outs (e.g. random device), thispatch touches several parts of the library. However, despite the wideimpact of this patch, I still think it is important to support thisconfiguration since it makes it much simpler to port libc++ to someembedded platforms.Differential Revision: https://reviews.llvm.org/D111265

            List of files:
            /llvm-project/libcxx/include/cstddef</description>
        <pubDate>Mon, 23 Aug 2021 19:32:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
