llvm-project/libcxx/test/std/strings
Richard Smith 5fd17ab1b0 Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from
<string.h> and wcschr, wcspbrk, wcsrchr, wmemchr, and wcsstr from <wchar.h> to
provide a const-correct overload set even when the underlying C library does
not.

This change adds a new macro, _LIBCPP_PREFERRED_OVERLOAD, which (if defined)
specifies that a given overload is a better match than an otherwise equally
good function declaration without the overload. This is implemented in modern
versions of Clang via __attribute__((enable_if)), and not elsewhere.

We use this new macro to define overloads in the global namespace for these
functions that displace the overloads provided by the C library, unless we
believe the C library is already providing the correct signatures.

llvm-svn: 260337
2016-02-10 00:59:02 +00:00
..
basic.string More string fixes for noexcept cases. Apparently I didn't get them all in r258281. 2016-01-20 05:41:24 +00:00
basic.string.hash
basic.string.literals
c.strings Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
char.traits Rooting out more undefined behavior in char_traits. 2015-02-13 16:04:42 +00:00
string.classes
string.conversions Make it possible to build a no-exceptions variant of libcxx. 2015-11-10 11:41:22 +00:00
strings.general
version.pass.cpp