<?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 cstdio</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/cstdio#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/cstdio</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/cstdio#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/cstdio</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/cstdio#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/cstdio</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>37dca605c9bd41732da010ee97ed15ad9585a37d - [libc++] Clean up includes of &lt;__assert&gt; (#80091)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#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/cstdio</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>761b9d9e4631aa85f932e5ee33aae1f7b8a0538e - [libc++] Remove _LIBCPP_C_HAS_NO_GETS (#77346)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#761b9d9e4631aa85f932e5ee33aae1f7b8a0538e</link>
        <description>[libc++] Remove _LIBCPP_C_HAS_NO_GETS (#77346)Since we use _LIBCPP_USING_IF_EXISTS to handle missing C library functionsnow, _LIBCPP_C_HAS_NO_GETS shouldn&apos;t be necessary anymore.See the discussion thread in #77242 for more details.

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Wed, 10 Jan 2024 18:34:03 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e734bc53de8173a1b54493f3e0c8f70575341a9e - [libc++] Remove _LIBCPP_HAS_NO_FGETPOS_FSETPOS (#72073)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#e734bc53de8173a1b54493f3e0c8f70575341a9e</link>
        <description>[libc++] Remove _LIBCPP_HAS_NO_FGETPOS_FSETPOS (#72073)Instead of using individual macros to turn off missing C libraryfeatures, we use the using_if_exists attribute now. This patch removesthe _LIBCPP_HAS_NO_FGETPOS_FSETPOS macro used to workaround missingfgetpos and fsetpos on older versions of Android -- using_if_existsshould take care of those in the headers and we should add appropriateXFAILs to the tests instead of using TEST_HAS_NO_FGETPOS_FSETPOS.

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Mon, 13 Nov 2023 08:43:25 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&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/cstdio#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/cstdio</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>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/cstdio#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/cstdio</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>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/cstdio#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/cstdio</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>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/cstdio#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/cstdio</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>87dd51983cf91e6db8e1975b7984a4902728470e - [libc++] Remove support for CloudABI, which has been abandoned</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#87dd51983cf91e6db8e1975b7984a4902728470e</link>
        <description>[libc++] Remove support for CloudABI, which has been abandonedBased on https://github.com/NuxiNL/cloudlibc, it appears that the CloudABIproject has been abandoned. This patch removes a bunch of CloudABI specificlogic that had been added to support that platform.Note that some knobs like LIBCXX_ENABLE_STDIN and LIBCXX_ENABLE_STDOUTcoud be useful in their own right, however those are currently broken.If we want to re-add such knobs in the future, we can do it like we&apos;vedone it for localization &amp; friends so that we can officially supportthat configuration.Differential Revision: https://reviews.llvm.org/D108637

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Tue, 24 Aug 2021 15:40:05 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a9c9183ca42629fa83cdda297d1d30c7bc1d7c91 - [libc++] Use the using_if_exists attribute when provided</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#a9c9183ca42629fa83cdda297d1d30c7bc1d7c91</link>
        <description>[libc++] Use the using_if_exists attribute when providedAs discussed on cfe-dev [1], use the using_if_exists Clang attribute whenthe compiler supports it. This makes it easier to port libc++ on top ofnew platforms that don&apos;t fully support the C Standard library.Previously, libc++ would fail to build when trying to import a missingdeclaration in a &lt;cXXXX&gt; header. With the attribute, the declaration willsimply not be imported into namespace std, and hence it won&apos;t be availablefor libc++ to use. In many cases, the declarations were *not* actuallyrequired for libc++ to work (they were only surfaced for users to usethem as std::XXXX), so not importing them into namespace std is acceptable.The same thing could be achieved by conscious usage of `#ifdef` alongwith platform detection, however that quickly creates a maintenanceproblem as libc++ is ported to new platforms. Furthermore, this problemis exacerbated when mixed with vendor internal-only platforms, which canlead to difficulties maintaining a downstream fork of the library.For the time being, we only use the using_if_exists attribute when itis supported. At some point in the future, we will start removing #ifdefpaths that are unnecessary when the attribute is supported, and folkswho need those #ifdef paths will be required to use a compiler thatsupports the attribute.[1]: http://lists.llvm.org/pipermail/cfe-dev/2020-June/066038.htmlDifferential Revision: https://reviews.llvm.org/D90257

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Wed, 02 Jun 2021 14:41:37 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4cd6ca102a94e1b64ba3f940cc26b4d7b2b82964 - [libc++] NFC: Normalize `#endif //` comment indentation</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#4cd6ca102a94e1b64ba3f940cc26b4d7b2b82964</link>
        <description>[libc++] NFC: Normalize `#endif //` comment indentation

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Tue, 20 Apr 2021 16:03:32 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>75c4408653753fbb8e273ad41cd41997d498e7d3 - Reland: Don&apos;t expose unavailable cstdio functions.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#75c4408653753fbb8e273ad41cd41997d498e7d3</link>
        <description>Reland: Don&apos;t expose unavailable cstdio functions.Marked unsupported for C++03 and C++11 since this test uses aliasdeclarations, and at least one C++03 bot was failing with-Wc++11-extensions.Change-Id: I8c3a579edd7eb83e0bc74e85d116b68f22400161

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Thu, 12 Mar 2020 18:16:30 +0000</pubDate>
        <dc:creator>Dan Albert &lt;danalbert@google.com&gt;</dc:creator>
    </item>
<item>
        <title>50280c18958bc152d77d6e69d14a53b8dbc8b395 - Revert &quot;Don&apos;t expose unavailable cstdio functions.&quot;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#50280c18958bc152d77d6e69d14a53b8dbc8b395</link>
        <description>Revert &quot;Don&apos;t expose unavailable cstdio functions.&quot;Broke builders that emit different diagnostics. e.g.:error: &apos;warning&apos; diagnostics seen but not expected:  Line 13: alias declarations are a C++11 extension  Line 20: alias declarations are a C++11 extensionThis reverts commit ff87813715ec32741ce230dd37c13d0ae6673f9c.

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Tue, 07 Apr 2020 22:36:44 +0000</pubDate>
        <dc:creator>Dan Albert &lt;danalbert@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ff87813715ec32741ce230dd37c13d0ae6673f9c - Don&apos;t expose unavailable cstdio functions.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#ff87813715ec32741ce230dd37c13d0ae6673f9c</link>
        <description>Don&apos;t expose unavailable cstdio functions.Summary: These aren&apos;t available on Android in all configurations.Reviewers: EricWF, mclow.lists, #libc, ldionneReviewed By: EricWF, #libc, ldionneSubscribers: broadwaylamb, dexonsmith, ldionne, krytarowski, libcxx-commitsTags: #libcDifferential Revision: https://reviews.llvm.org/D76093

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Tue, 07 Apr 2020 22:02:15 +0000</pubDate>
        <dc:creator>Dan Albert &lt;danalbert@google.com&gt;</dc:creator>
    </item>
<item>
        <title>5bd4a4806aafc31c67a55c7d8b2993c879dc5bc2 - Remove ::gets for FreeBSD 13 and later</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#5bd4a4806aafc31c67a55c7d8b2993c879dc5bc2</link>
        <description>Remove ::gets for FreeBSD 13 and laterSummary:In https://svnweb.freebsd.org/changeset/base/351659 @emaste removed gets() fromFreeBSD 13&apos;s libc, and our copies of libc++ and libstdc++.  In that change, thedeclarations were simply deleted, but I would like to propose this conditionaltest instead.Reviewers: EricWF, mclow.lists, emasteReviewed By: mclow.listsSubscribers: krytarowski, christof, ldionne, emaste, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D67316llvm-svn: 371324

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Sat, 07 Sep 2019 22:18:20 +0000</pubDate>
        <dc:creator>Dimitry Andric &lt;dimitry@andric.com&gt;</dc:creator>
    </item>
<item>
        <title>57b08b0944046a6a57ee9b7b479181f548a5b9b4 - Update more file headers across all of the LLVM projects in the monorepo</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#57b08b0944046a6a57ee9b7b479181f548a5b9b4</link>
        <description>Update more file headers across all of the LLVM projects in the monorepoto reflect the new license. These used slightly different spellings thatdefeated my regular expressions.We understand that people may be surprised that we&apos;re moving the headerentirely to discuss the new license. We checked this carefully with theFoundation&apos;s lawyer and we believe this is the correct approach.Essentially, all code in the project is now made available by the LLVMproject under our new license, so you will see that the license headersinclude that license only. Some of our contributors have contributedcode under our old license, and accordingly, we have retained a copy ofour old license notice in the top-level files in each project andrepository.llvm-svn: 351648

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Sat, 19 Jan 2019 10:56:40 +0000</pubDate>
        <dc:creator>Chandler Carruth &lt;chandlerc@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>17af695f2b3d0e72844b2ccfc4fcf7ec6e40bbf2 - [libc++] Drop support for CRTs older than VS 2015</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#17af695f2b3d0e72844b2ccfc4fcf7ec6e40bbf2</link>
        <description>[libc++] Drop support for CRTs older than VS 2015LLVM dropped support for Visual Studio versions older than 2015 quitesome time ago, so I consider it safe to drop libc++&apos;s support for olderCRTs. The CRT in Visual Studio 2015 provides a lot of previously missingfunctions, so targeting it requires less special casing.Differential Revision: https://reviews.llvm.org/D31798llvm-svn: 299743

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Fri, 07 Apr 2017 02:20:52 +0000</pubDate>
        <dc:creator>Shoaib Meenai &lt;smeenai@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>76728d88ec5e59bd1498b16c98059113084e7836 - [libc++] Remove unnecessary MSVCRT exclusions</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/cstdio#76728d88ec5e59bd1498b16c98059113084e7836</link>
        <description>[libc++] Remove unnecessary MSVCRT exclusionsVisual Studio 2013 and up have these functions, and we don&apos;t need tosupport older versions.There are some remaining _LIBCPP_MSVCRT exclusions which are present onVisual Studio 2015 but not 2013. Those will be addressed in a follow-up.Differential Revision: https://reviews.llvm.org/D26377llvm-svn: 286202

            List of files:
            /llvm-project/libcxx/include/cstdio</description>
        <pubDate>Tue, 08 Nov 2016 03:31:42 +0000</pubDate>
        <dc:creator>Shoaib Meenai &lt;smeenai@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
