diff --git a/libcxx/test/std/depr/depr.c.headers/string_h.pass.cpp b/libcxx/test/std/depr/depr.c.headers/string_h.pass.cpp index c5eac1adbf968c..4e18107d90db03 100644 --- a/libcxx/test/std/depr/depr.c.headers/string_h.pass.cpp +++ b/libcxx/test/std/depr/depr.c.headers/string_h.pass.cpp @@ -36,12 +36,17 @@ int main(int, char**) static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); #ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS static_assert((std::is_same::value), ""); #endif @@ -49,16 +54,5 @@ int main(int, char**) static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); - // These tests fail on systems whose C library doesn't provide a correct overload - // set for strchr, strpbrk, strrchr, strstr, and memchr, unless the compiler is - // a suitably recent version of Clang. -#if !defined(__APPLE__) || defined(_LIBCPP_PREFERRED_OVERLOAD) - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); -#endif - - return 0; + return 0; } diff --git a/libcxx/test/std/depr/depr.c.headers/wchar_h.pass.cpp b/libcxx/test/std/depr/depr.c.headers/wchar_h.pass.cpp index eb212ff5bfd345..b297ab06d848e2 100644 --- a/libcxx/test/std/depr/depr.c.headers/wchar_h.pass.cpp +++ b/libcxx/test/std/depr/depr.c.headers/wchar_h.pass.cpp @@ -85,14 +85,19 @@ int main(int, char**) static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); + static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); @@ -107,17 +112,6 @@ int main(int, char**) static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); - // These tests fail on systems whose C library doesn't provide a correct overload - // set for wcschr, wcspbrk, wcsrchr, wcsstr, and wmemchr, unless the compiler is - // a suitably recent version of Clang. -#if !defined(__APPLE__) || defined(_LIBCPP_PREFERRED_OVERLOAD) - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); - static_assert((std::is_same::value), ""); -#endif - #ifndef _LIBCPP_HAS_NO_STDIN static_assert((std::is_same::value), ""); static_assert((std::is_same::value), ""); @@ -130,5 +124,5 @@ int main(int, char**) static_assert((std::is_same::value), ""); #endif - return 0; + return 0; } diff --git a/libcxx/test/std/strings/c.strings/cstring.pass.cpp b/libcxx/test/std/strings/c.strings/cstring.pass.cpp index c8ee2789df47ac..3d667ed03a69f9 100644 --- a/libcxx/test/std/strings/c.strings/cstring.pass.cpp +++ b/libcxx/test/std/strings/c.strings/cstring.pass.cpp @@ -37,12 +37,17 @@ int main(int, char**) ASSERT_SAME_TYPE(int, decltype(std::strcoll(cpc, cpc))); ASSERT_SAME_TYPE(std::size_t, decltype(std::strxfrm(cp, cpc, s))); ASSERT_SAME_TYPE(void*, decltype(std::memchr(vp, 0, s))); + ASSERT_SAME_TYPE(const void*, decltype(std::memchr(vpc, 0, s))); ASSERT_SAME_TYPE(char*, decltype(std::strchr(cp, 0))); + ASSERT_SAME_TYPE(const char*, decltype(std::strchr(cpc, 0))); ASSERT_SAME_TYPE(std::size_t, decltype(std::strcspn(cpc, cpc))); ASSERT_SAME_TYPE(char*, decltype(std::strpbrk(cp, cpc))); + ASSERT_SAME_TYPE(const char*, decltype(std::strpbrk(cpc, cpc))); ASSERT_SAME_TYPE(char*, decltype(std::strrchr(cp, 0))); + ASSERT_SAME_TYPE(const char*, decltype(std::strrchr(cpc, 0))); ASSERT_SAME_TYPE(std::size_t, decltype(std::strspn(cpc, cpc))); ASSERT_SAME_TYPE(char*, decltype(std::strstr(cp, cpc))); + ASSERT_SAME_TYPE(const char*, decltype(std::strstr(cpc, cpc))); #ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS ASSERT_SAME_TYPE(char*, decltype(std::strtok(cp, cpc))); #endif @@ -50,16 +55,5 @@ int main(int, char**) ASSERT_SAME_TYPE(char*, decltype(std::strerror(0))); ASSERT_SAME_TYPE(std::size_t, decltype(std::strlen(cpc))); - // These tests fail on systems whose C library doesn't provide a correct overload - // set for strchr, strpbrk, strrchr, strstr, and memchr, unless the compiler is - // a suitably recent version of Clang. -#if !defined(__APPLE__) || defined(_LIBCPP_PREFERRED_OVERLOAD) - ASSERT_SAME_TYPE(const void*, decltype(std::memchr(vpc, 0, s))); - ASSERT_SAME_TYPE(const char*, decltype(std::strchr(cpc, 0))); - ASSERT_SAME_TYPE(const char*, decltype(std::strpbrk(cpc, cpc))); - ASSERT_SAME_TYPE(const char*, decltype(std::strrchr(cpc, 0))); - ASSERT_SAME_TYPE(const char*, decltype(std::strstr(cpc, cpc))); -#endif - - return 0; + return 0; } diff --git a/libcxx/test/std/strings/c.strings/cwchar.pass.cpp b/libcxx/test/std/strings/c.strings/cwchar.pass.cpp index 44ccf3f7264e0a..7d670d0059b608 100644 --- a/libcxx/test/std/strings/c.strings/cwchar.pass.cpp +++ b/libcxx/test/std/strings/c.strings/cwchar.pass.cpp @@ -85,14 +85,19 @@ int main(int, char**) ASSERT_SAME_TYPE(int, decltype(std::wcsncmp(L"", L"", s))); ASSERT_SAME_TYPE(std::size_t, decltype(std::wcsxfrm(ws, L"", s))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wcschr((wchar_t*)0, L' '))); + ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcschr((const wchar_t*)0, L' '))); ASSERT_SAME_TYPE(std::size_t, decltype(std::wcscspn(L"", L""))); ASSERT_SAME_TYPE(std::size_t, decltype(std::wcslen(L""))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wcspbrk((wchar_t*)0, L""))); + ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcspbrk((const wchar_t*)0, L""))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wcsrchr((wchar_t*)0, L' '))); + ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcsrchr((const wchar_t*)0, L' '))); ASSERT_SAME_TYPE(std::size_t, decltype(std::wcsspn(L"", L""))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wcsstr((wchar_t*)0, L""))); + ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcsstr((const wchar_t*)0, L""))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wcstok(ws, L"", (wchar_t**)0))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wmemchr((wchar_t*)0, L' ', s))); + ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wmemchr((const wchar_t*)0, L' ', s))); ASSERT_SAME_TYPE(int, decltype(std::wmemcmp(L"", L"", s))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wmemcpy(ws, L"", s))); ASSERT_SAME_TYPE(wchar_t*, decltype(std::wmemmove(ws, L"", s))); @@ -107,17 +112,6 @@ int main(int, char**) ASSERT_SAME_TYPE(std::size_t, decltype(std::mbsrtowcs(ws, (const char**)0, s, &mb))); ASSERT_SAME_TYPE(std::size_t, decltype(std::wcsrtombs(ns, (const wchar_t**)0, s, &mb))); - // These tests fail on systems whose C library doesn't provide a correct overload - // set for wcschr, wcspbrk, wcsrchr, wcsstr, and wmemchr, unless the compiler is - // a suitably recent version of Clang. -#if !defined(__APPLE__) || defined(_LIBCPP_PREFERRED_OVERLOAD) - ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcschr((const wchar_t*)0, L' '))); - ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcspbrk((const wchar_t*)0, L""))); - ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcsrchr((const wchar_t*)0, L' '))); - ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wcsstr((const wchar_t*)0, L""))); - ASSERT_SAME_TYPE(const wchar_t*, decltype(std::wmemchr((const wchar_t*)0, L' ', s))); -#endif - #ifndef _LIBCPP_HAS_NO_STDIN ASSERT_SAME_TYPE(std::wint_t, decltype(std::getwchar())); ASSERT_SAME_TYPE(int, decltype(std::vwscanf(L"", va))); @@ -130,5 +124,5 @@ int main(int, char**) ASSERT_SAME_TYPE(int, decltype(std::wprintf(L""))); #endif - return 0; + return 0; }