History log of /external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1e17bc1faf03109ff64ca278f8e603c31fe089f4 30-Dec-2016 Ed Schouten <ed@nuxi.nl> Remove mblen(), mbtowc() and wctomb() from the thread-unsafe functions.

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


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
f650ea7131fe7f10b5d88554a19dfe563a81b5ea 09-Oct-2015 Richard Smith <richard-llvm@metafoo.co.uk> Split <stdlib.h> out of <cstdlib>.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@249800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
9698ac5a68ae94d3e89c77673fb8f8e51611d06d 01-Oct-2015 Eric Fiselier <eric@efcs.ca> Manually suppress -Wnonnull when it occurs in an unevaluated context

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@248989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
212714f805dc3b00e351b1556395f18c5ae70c25 19-Jul-2015 Eric Fiselier <eric@efcs.ca> Cleanup warnings in test/std/depr

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@242627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
323ade3e7080de24c659f714404592818a78ca76 24-Jun-2015 Ed Schouten <ed@nuxi.nl> Make support for thread-unsafe C functions optional.

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:

- <clocale>: locale handles should be preferred over setlocale().
- <cstdlib>: mbrlen(), mbrtowc() and wcrtomb() should be preferred over
their non-restartable counterparts.
- <ctime>: 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


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@240527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
a90c6dd46005b2b14de3bb889a8d03bb34bd3256 20-Dec-2014 Eric Fiselier <eric@efcs.ca> Move test into test/std subdirectory.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp