Author: marshall Date: Tue Jan 24 10:28:02 2017 New Revision: 292943 URL: http://llvm.org/viewvc/llvm-project?rev=292943&view=rev Log: A couple more tests for constexpr stuff in string_view. No changes other than test code.
Modified: libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp Modified: libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp?rev=292943&r1=292942&r2=292943&view=diff ============================================================================== --- libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp (original) +++ libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp Tue Jan 24 10:28:02 2017 @@ -58,4 +58,23 @@ int main() test(u16string_view{u"123"}); test(u32string_view{U"123"}); #endif + +#if TEST_STD_VER > 14 + { + constexpr string_view sv { "123", 3 }; + constexpr u16string_view u16sv {u"123", 3 }; + constexpr u32string_view u32sv {U"123", 3 }; + constexpr wstring_view wsv {L"123", 3 }; + + static_assert ( *sv.rbegin() == sv[2], "" ); + static_assert ( *u16sv.rbegin() == u16sv[2], "" ); + static_assert ( *u32sv.rbegin() == u32sv[2], "" ); + static_assert ( *wsv.rbegin() == wsv[2], "" ); + + static_assert ( *sv.crbegin() == sv[2], "" ); + static_assert ( *u16sv.crbegin() == u16sv[2], "" ); + static_assert ( *u32sv.crbegin() == u32sv[2], "" ); + static_assert ( *wsv.crbegin() == wsv[2], "" ); + } +#endif } Modified: libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp?rev=292943&r1=292942&r2=292943&view=diff ============================================================================== --- libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp (original) +++ libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp Tue Jan 24 10:28:02 2017 @@ -66,4 +66,23 @@ int main() test(u16string_view{u"123"}); test(u32string_view{U"123"}); #endif + +#if TEST_STD_VER > 14 + { + constexpr string_view sv { "123", 3 }; + constexpr u16string_view u16sv {u"123", 3 }; + constexpr u32string_view u32sv {U"123", 3 }; + constexpr wstring_view wsv {L"123", 3 }; + + static_assert ( *--sv.rend() == sv[0], "" ); + static_assert ( *--u16sv.rend() == u16sv[0], "" ); + static_assert ( *--u32sv.rend() == u32sv[0], "" ); + static_assert ( *--wsv.rend() == wsv[0], "" ); + + static_assert ( *--sv.crend() == sv[0], "" ); + static_assert ( *--u16sv.crend() == u16sv[0], "" ); + static_assert ( *--u32sv.crend() == u32sv[0], "" ); + static_assert ( *--wsv.crend() == wsv[0], "" ); + } +#endif } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits