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
|