You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
libcxx_old/test/std/language.support/support.runtime
Ed Schouten 1e17bc1faf 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
9 years ago
..
csetjmp.pass.cpp Void cast runtime-unused variables. Patch from STL@microsoft.com 10 years ago
csignal.pass.cpp Fix warnings in test/std/language.support 10 years ago
cstdarg.pass.cpp Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 10 years ago
cstdbool.pass.cpp Move test into test/std subdirectory. 11 years ago
cstdlib.pass.cpp Remove mblen(), mbtowc() and wctomb() from the thread-unsafe functions. 9 years ago
ctime.pass.cpp Fix warnings in tests. 10 years ago