323ade3e70
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 |
||
---|---|---|
.. | ||
assert_h.pass.cpp | ||
ciso646.pass.cpp | ||
complex.h.pass.cpp | ||
ctype_h.pass.cpp | ||
errno_h.pass.cpp | ||
fenv_h.pass.cpp | ||
float_h.pass.cpp | ||
inttypes_h.pass.cpp | ||
iso646_h.pass.cpp | ||
limits_h.pass.cpp | ||
locale_h.pass.cpp | ||
math_h.pass.cpp | ||
setjmp_h.pass.cpp | ||
signal_h.pass.cpp | ||
stdarg_h.pass.cpp | ||
stdbool_h.pass.cpp | ||
stddef_h.pass.cpp | ||
stdint_h.pass.cpp | ||
stdio_h.pass.cpp | ||
stdlib_h.pass.cpp | ||
string_h.pass.cpp | ||
tgmath_h.pass.cpp | ||
time_h.pass.cpp | ||
uchar_h.pass.cpp | ||
wchar_h.pass.cpp | ||
wctype_h.pass.cpp |