cxx/test/std/strings
Ed Schouten 323ade3e70 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
2015-06-24 08:44:38 +00:00
..
basic.string While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard 2015-06-04 02:05:41 +00:00
basic.string.hash libc++ implements its' hash objects as deriving from std::unary_function, and the tests test for that. STL @ MS pointed out that the standard doesn't requie these objects to derive from unary_function, and so the tests should not require that either. Change the tests to check for the embedded typedefs - which ARE required. No change to the library. 2015-01-07 21:53:23 +00:00
basic.string.literals Move test into test/std subdirectory. 2014-12-20 01:40:03 +00:00
c.strings Make support for thread-unsafe C functions optional. 2015-06-24 08:44:38 +00:00
char.traits Rooting out more undefined behavior in char_traits. 2015-02-13 16:04:42 +00:00
string.classes Move test into test/std subdirectory. 2014-12-20 01:40:03 +00:00
string.conversions Rename system_lib -> system_cxx_lib. NFC 2015-01-14 23:38:12 +00:00
strings.general Move test into test/std subdirectory. 2014-12-20 01:40:03 +00:00
version.pass.cpp Move test into test/std subdirectory. 2014-12-20 01:40:03 +00:00