llvm-project/libcxx/test/std/depr
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
..
depr.auto.ptr Cleanup warnings in test/std/depr 2015-07-18 22:51:51 +00:00
depr.c.headers Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
depr.function.objects
depr.ios.members Implement P0004R1 'Remove Deprecated iostreams aliases' 2015-10-29 05:43:30 +00:00
depr.lib.binders
depr.str.strstreams
exception.unexpected Cleanup warnings in test/std/depr 2015-07-18 22:51:51 +00:00
nothing_to_do.pass.cpp