<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/include/cstdlib, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-11-18T20:19:58+00:00</updated>
<entry>
<title>Fix _LIBCPP_HAS_ definitions for Android.</title>
<updated>2019-11-18T20:19:58+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2019-11-18T20:16:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=19fd9039ca242f408493b5c662f9d908eab8555e'/>
<id>urn:sha1:19fd9039ca242f408493b5c662f9d908eab8555e</id>
<content type='text'>
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're basically
just 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 more
places where _LIBCPP_HAS_C11_FEATURES has been used as a proxy. This
isn'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 a
couple of !defined(_WIN32)s now that we're explicitly testing
TEST_HAS_ALIGNED_ALLOC rather than TEST_HAS_C11_FEATURES.

Reviewers: danalbert, EricWF, mclow.lists

Reviewed By: danalbert

Subscribers: srhines, christof, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D69929
</content>
</entry>
<entry>
<title>Update more file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T10:56:40+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T10:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=57b08b0944046a6a57ee9b7b479181f548a5b9b4'/>
<id>urn:sha1:57b08b0944046a6a57ee9b7b479181f548a5b9b4</id>
<content type='text'>
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351648
</content>
</entry>
<entry>
<title>Selectively import timespec_get into namespace std, since some C libraries don't have it. Reviewed as https://reviews.llvm.org/D50799</title>
<updated>2018-08-15T21:19:08+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2018-08-15T21:19:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=171c77b7dad4a050aca23ff7ca1b75f87560fefb'/>
<id>urn:sha1:171c77b7dad4a050aca23ff7ca1b75f87560fefb</id>
<content type='text'>
llvm-svn: 339816
</content>
</entry>
<entry>
<title>[libc++] Respect Windows Store app CRT restrictions</title>
<updated>2017-04-06T04:47:49+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2017-04-06T04:47:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5dc5a8e5be002ed478cbdf457ead9ae7ff84152f'/>
<id>urn:sha1:5dc5a8e5be002ed478cbdf457ead9ae7ff84152f</id>
<content type='text'>
Some CRT APIs are unavailable for Windows Store apps [1]. Detect when
we're targeting the Windows Store and don't try to refer to non-existent
CRT functions in that case. (This would otherwise lead to a compile
error 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-apps

Differential Revision: https://reviews.llvm.org/D31737

llvm-svn: 299625
</content>
</entry>
<entry>
<title>Remove mblen(), mbtowc() and wctomb() from the thread-unsafe functions.</title>
<updated>2016-12-30T10:44:00+00:00</updated>
<author>
<name>Ed Schouten</name>
<email>ed@nuxi.nl</email>
</author>
<published>2016-12-30T10:44:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0a92402436d04d86eddc2209a6eb6f0186155ecb'/>
<id>urn:sha1:0a92402436d04d86eddc2209a6eb6f0186155ecb</id>
<content type='text'>
Back in r240527 I added a knob to prevent thread-unsafe functions from
being exposed. mblen(), mbtowc() and wctomb() were also added to this
list, as the latest issue of POSIX doesn't require these functions to be
thread-safe.

It turns out that the only circumstance in which these functions are not
thread-safe is in case they are used in combination with state-dependent
character sets (e.g., Shift-JIS). According to Austin Group Bug 708,
these character sets "[...] are mostly a relic of the past and which
were never supported on most POSIX systems".

Though in many cases the use of these functions can be prevented by
using the reentrant counterparts, they are the only functions that allow
you to query whether the locale's character set is state-dependent. This
means that omitting these functions removes actual functionality.

Let's be a bit less pedantic and drop the guards around these functions.

Links:
http://austingroupbugs.net/view.php?id=708
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2037.htm

Reviewed by:	ericwf
Differential Revision:	https://reviews.llvm.org/D21436

llvm-svn: 290748
</content>
</entry>
<entry>
<title>Fix or suppress GCC warnings during build.</title>
<updated>2016-08-29T20:43:38+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2016-08-29T20:43:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f6ac565031343554370a6a3139f88341765fa32d'/>
<id>urn:sha1:f6ac565031343554370a6a3139f88341765fa32d</id>
<content type='text'>
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: EricWF

Differential Revision: https://reviews.llvm.org/D24003

llvm-svn: 280007
</content>
</entry>
<entry>
<title>Split &lt;stdlib.h&gt; out of &lt;cstdlib&gt;.</title>
<updated>2015-10-09T01:41:45+00:00</updated>
<author>
<name>Richard Smith</name>
<email>richard-llvm@metafoo.co.uk</email>
</author>
<published>2015-10-09T01:41:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a51c8eee6eb337ae5e619ae25a501806897f13e7'/>
<id>urn:sha1:a51c8eee6eb337ae5e619ae25a501806897f13e7</id>
<content type='text'>
llvm-svn: 249800
</content>
</entry>
<entry>
<title>Make support for thread-unsafe C functions optional.</title>
<updated>2015-06-24T08:44:38+00:00</updated>
<author>
<name>Ed Schouten</name>
<email>ed@nuxi.nl</email>
</author>
<published>2015-06-24T08:44:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e0cf3b9a3ca8d80d313d1e2e5b8c70d73d10e933'/>
<id>urn:sha1:e0cf3b9a3ca8d80d313d1e2e5b8c70d73d10e933</id>
<content type='text'>
One of the aspects of CloudABI is that it aims to help you write code
that is thread-safe out of the box. This is very important if you want
to write libraries that are easy to reuse. For CloudABI we decided to
not provide the thread-unsafe functions. So far this is working out
pretty 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 disable
thread-unsafe functions that can easily be avoided in practice. The
following 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/D8703
Reviewed by:	marshall

llvm-svn: 240527
</content>
</entry>
<entry>
<title>Make *abs() and *div() work on CloudABI.</title>
<updated>2015-03-16T14:27:44+00:00</updated>
<author>
<name>Ed Schouten</name>
<email>ed@nuxi.nl</email>
</author>
<published>2015-03-16T14:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=74bbf7c7eed54cd01ad49c36820269bb7bfb5592'/>
<id>urn:sha1:74bbf7c7eed54cd01ad49c36820269bb7bfb5592</id>
<content type='text'>
According to POSIX, *abs() and *div() are allowed to be macros (in
addition to being functions). Make sure we undefine these, so that
std::*abs() and std::*div() work as expected.

llvm-svn: 232379
</content>
</entry>
<entry>
<title>Xing Xue:  port to IBM XLC++/AIX.</title>
<updated>2013-08-14T18:00:20+00:00</updated>
<author>
<name>Howard Hinnant</name>
<email>hhinnant@apple.com</email>
</author>
<published>2013-08-14T18:00:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5d1a701d6def1e4e6ae3d5bce67efd40b07fba16'/>
<id>urn:sha1:5d1a701d6def1e4e6ae3d5bce67efd40b07fba16</id>
<content type='text'>
llvm-svn: 188396
</content>
</entry>
</feed>
