<?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 cstdlib</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>385cc25a - [libc++] Ensure that all public C++ headers include &lt;__assert&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#385cc25a</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-15.0.7/libcxx/include/cstdlib</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>a805a15b - [libc++] Remove workaround for missing declarations on Windows store apps</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#a805a15b</link>
        <description>[libc++] Remove workaround for missing declarations on Windows store appsWe don&apos;t need preprocessor logic to exclude those declarations when compiling forthe Windows App Store, because that is handled by using_if_exists now.Differential Revision: https://reviews.llvm.org/D108632

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Tue, 24 Aug 2021 14:37:07 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>21f73d58 - [libc++] Remove workaround for C11 features on compilers that don&apos;t support using_if_exists</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#21f73d58</link>
        <description>[libc++] Remove workaround for C11 features on compilers that don&apos;t support using_if_existsInstead of carrying around #ifdefs to determine whether those functionsare available on the platform, unconditionally use the using_if_existsattribute to import it into namespace std only when available. That wasthe purpose of this attribute from the start.This change means that trying to use libc++ with an old SDK (or on anold platform for platforms that ship system headers in /usr/include)will require a recent Clang that supports the using_if_exists attribute.When using an older Clang or GCC, the underlying platform has to supporta C11 standard library.Differential Revision: https://reviews.llvm.org/D108203

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Wed, 18 Aug 2021 13:08:17 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2a8f9a5e - [libc++] Implement P0627R6 (Function to mark unreachable code)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#2a8f9a5e</link>
        <description>[libc++] Implement P0627R6 (Function to mark unreachable code)Reviewed By: ldionne, Quuxplusone, #libcSpies: arichardson, mstorsjo, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D119152

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Mon, 14 Feb 2022 17:26:02 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&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/cstdlib#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/cstdlib</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>eb8650a7 - [runtimes][NFC] Remove filenames at the top of the license notice</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#eb8650a7</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-15.0.7/libcxx/include/cstdlib</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>c137a075 - [libc++] Remove _LIBCPP_HAS_NO_LONG_LONG in favour of using_if_exists</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#c137a075</link>
        <description>[libc++] Remove _LIBCPP_HAS_NO_LONG_LONG in favour of using_if_exists_LIBCPP_HAS_NO_LONG_LONG was only defined on FreeBSD. Instead, use theusing_if_exists attribute to skip over declarations that are not availableon the base system. Note that there&apos;s an annoying limitation that we can&apos;tconditionally define a function based on whether the base system providesa function, so for example we still need preprocessor logic to define theabs() and div() overloads.Differential Revision: https://reviews.llvm.org/D108630

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Tue, 24 Aug 2021 14:30:39 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a9c9183c - [libc++] Use the using_if_exists attribute when provided</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#a9c9183c</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-15.0.7/libcxx/include/cstdlib</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>4cd6ca10 - [libc++] NFC: Normalize `#endif //` comment indentation</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#4cd6ca10</link>
        <description>[libc++] NFC: Normalize `#endif //` comment indentation

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</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>19fd9039 - Fix _LIBCPP_HAS_ definitions for Android.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#19fd9039</link>
        <description>Fix _LIBCPP_HAS_ definitions for Android.Summary:Android added quick_exit()/at_quick_exit() in API level 21,aligned_alloc() in API level 28, and timespec_get() in API level 29,but has the other C11 features at all API levels (since they&apos;re basicallyjust coming from clang directly)._LIBCPP_HAS_QUICK_EXIT and _LIBCPP_HAS_TIMESPEC_GET already existed,so we can reuse them. (And use _LIBCPP_HAS_TIMESPEC_GET in a few moreplaces where _LIBCPP_HAS_C11_FEATURES has been used as a proxy. Thisisn&apos;t correct for Android.)_LIBCPP_HAS_ALIGNED_ALLOC is added, to cover aligned_alloc() (obviously).Add a missing std:: before aligned_alloc in a cstdlib test, and remove acouple of !defined(_WIN32)s now that we&apos;re explicitly testingTEST_HAS_ALIGNED_ALLOC rather than TEST_HAS_C11_FEATURES.Reviewers: danalbert, EricWF, mclow.listsReviewed By: danalbertSubscribers: srhines, christof, libcxx-commitsTags: #libcDifferential Revision: https://reviews.llvm.org/D69929

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Mon, 18 Nov 2019 20:16:45 +0000</pubDate>
        <dc:creator>Dan Albert &lt;danalbert@google.com&gt;</dc:creator>
    </item>
<item>
        <title>57b08b09 - Update more file headers across all of the LLVM projects in the monorepo</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#57b08b09</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-15.0.7/libcxx/include/cstdlib</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>171c77b7 - Selectively import timespec_get into namespace std, since some C libraries don&apos;t have it. Reviewed as https://reviews.llvm.org/D50799</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#171c77b7</link>
        <description>Selectively import timespec_get into namespace std, since some C libraries don&apos;t have it. Reviewed as https://reviews.llvm.org/D50799llvm-svn: 339816

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Wed, 15 Aug 2018 21:19:08 +0000</pubDate>
        <dc:creator>Marshall Clow &lt;mclow.lists@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5dc5a8e5 - [libc++] Respect Windows Store app CRT restrictions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#5dc5a8e5</link>
        <description>[libc++] Respect Windows Store app CRT restrictionsSome CRT APIs are unavailable for Windows Store apps [1]. Detect whenwe&apos;re targeting the Windows Store and don&apos;t try to refer to non-existentCRT functions in that case. (This would otherwise lead to a compileerror when using the libc++ headers and compiling for Windows Store.)[1] https://docs.microsoft.com/en-us/cpp/cppcx/crt-functions-not-supported-in-universal-windows-platform-appsDifferential Revision: https://reviews.llvm.org/D31737llvm-svn: 299625

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Thu, 06 Apr 2017 04:47:49 +0000</pubDate>
        <dc:creator>Shoaib Meenai &lt;smeenai@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>0a924024 - Remove mblen(), mbtowc() and wctomb() from the thread-unsafe functions.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#0a924024</link>
        <description>Remove mblen(), mbtowc() and wctomb() from the thread-unsafe functions.Back in r240527 I added a knob to prevent thread-unsafe functions frombeing exposed. mblen(), mbtowc() and wctomb() were also added to thislist, as the latest issue of POSIX doesn&apos;t require these functions to bethread-safe.It turns out that the only circumstance in which these functions are notthread-safe is in case they are used in combination with state-dependentcharacter sets (e.g., Shift-JIS). According to Austin Group Bug 708,these character sets &quot;[...] are mostly a relic of the past and whichwere never supported on most POSIX systems&quot;.Though in many cases the use of these functions can be prevented byusing the reentrant counterparts, they are the only functions that allowyou to query whether the locale&apos;s character set is state-dependent. Thismeans that omitting these functions removes actual functionality.Let&apos;s be a bit less pedantic and drop the guards around these functions.Links:http://austingroupbugs.net/view.php?id=708http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2037.htmReviewed by:	ericwfDifferential Revision:	https://reviews.llvm.org/D21436llvm-svn: 290748

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Fri, 30 Dec 2016 10:44:00 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@nuxi.nl&gt;</dc:creator>
    </item>
<item>
        <title>f6ac5650 - Fix or suppress GCC warnings during build.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#f6ac5650</link>
        <description>Fix or suppress GCC warnings during build.Summary:Currently a number of GCC warnings are emitted when building libc++. This patch fixes or ignores all of them. The primary changes are:* Work around strict aliasing issues in `typeinfo::hash_code()` by using __attribute__((may_alias)). However I think a non-aliasing `hash_code()` implementation is possible. Further investigation needed.* Add `_LIBCPP_UNREACHABLE()` to switch in `strstream.cpp` to avoid -Wpotentially-uninitialized.* Fix -Wunused-value warning in `__all` by adding a void cast.* Ignore -Wattributes for now. There are a number of real attribute issues when using GCC but enabling the warning is too noisy.* Ignore -Wliteral-suffix since it warns about the use of reserved identifiers. Note Only GCC 7.0 supports disabling this warning.* Ignore -Wc++14-compat since it warns about the sized new/delete overloads.Reviewers: EricWFDifferential Revision: https://reviews.llvm.org/D24003llvm-svn: 280007

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Mon, 29 Aug 2016 20:43:38 +0000</pubDate>
        <dc:creator>Eric Fiselier &lt;eric@efcs.ca&gt;</dc:creator>
    </item>
<item>
        <title>a51c8eee - Split &lt;stdlib.h&gt; out of &lt;cstdlib&gt;.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#a51c8eee</link>
        <description>Split &lt;stdlib.h&gt; out of &lt;cstdlib&gt;.llvm-svn: 249800

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Fri, 09 Oct 2015 01:41:45 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>e0cf3b9a - Make support for thread-unsafe C functions optional.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#e0cf3b9a</link>
        <description>Make support for thread-unsafe C functions optional.One of the aspects of CloudABI is that it aims to help you write codethat is thread-safe out of the box. This is very important if you wantto write libraries that are easy to reuse. For CloudABI we decided tonot provide the thread-unsafe functions. So far this is working outpretty well, as thread-unsafety issues are detected really early on.The following patch adds a knob to libc++,_LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS, that can be set to disablethread-unsafe functions that can easily be avoided in practice. Thefollowing functions are not thread-safe:- &lt;clocale&gt;: locale handles should be preferred over setlocale().- &lt;cstdlib&gt;: mbrlen(), mbrtowc() and wcrtomb() should be preferred over  their non-restartable counterparts.- &lt;ctime&gt;: asctime(), ctime(), gmtime() and localtime() are not  thread-safe. The first two are also deprecated by POSIX.Differential Revision:	http://reviews.llvm.org/D8703Reviewed by:	marshallllvm-svn: 240527

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Wed, 24 Jun 2015 08:44:38 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@nuxi.nl&gt;</dc:creator>
    </item>
<item>
        <title>74bbf7c7 - Make *abs() and *div() work on CloudABI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#74bbf7c7</link>
        <description>Make *abs() and *div() work on CloudABI.According to POSIX, *abs() and *div() are allowed to be macros (inaddition to being functions). Make sure we undefine these, so thatstd::*abs() and std::*div() work as expected.llvm-svn: 232379

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Mon, 16 Mar 2015 14:27:44 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@nuxi.nl&gt;</dc:creator>
    </item>
<item>
        <title>5d1a701d - Xing Xue:  port to IBM XLC++/AIX.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#5d1a701d</link>
        <description>Xing Xue:  port to IBM XLC++/AIX.llvm-svn: 188396

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Wed, 14 Aug 2013 18:00:20 +0000</pubDate>
        <dc:creator>Howard Hinnant &lt;hhinnant@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>0be8f64c - Nico Rieck:  Currently _MSC_VER and _WIN32 are used to guard code which is</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/cstdlib#0be8f64c</link>
        <description>Nico Rieck:  Currently _MSC_VER and _WIN32 are used to guard code which isMSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang canalso define _MSC_VER, and MSVCRT is not necessarily the only C runtime,these macros should not be used interchangeably.This patch divides all Windows-related bits into the aforementionedcategories. Two new macros are introduced:- _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using  _MSC_VER, excluding Clang.- _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default   when _WIN32 is defined.This leaves _WIN32 for code using the Windows API.This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF.Nico, please prepare a patch for CREDITS.TXT, thanks.llvm-svn: 187593

            List of files:
            /llvm-project-15.0.7/libcxx/include/cstdlib</description>
        <pubDate>Thu, 01 Aug 2013 18:17:34 +0000</pubDate>
        <dc:creator>Howard Hinnant &lt;hhinnant@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
