STL_MSFT created this revision. [libcxx] [test] Fix Clang -Wunused-local-typedef, part 3/3.
test/std/strings/string.classes/typedefs.pass.cpp Actually test what basic_string's typedefs stand for. test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp NotDerived and ND were completely unused. test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp https://reviews.llvm.org/P2 was mistakenly not being used. Yes, that's right: -Wunused-local-typedef CAUGHT A MISTAKE! AMAZING! https://reviews.llvm.org/D29137 Files: test/std/strings/string.classes/typedefs.pass.cpp test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp Index: test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp =================================================================== --- test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp +++ test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp @@ -49,7 +49,7 @@ using P = std::pair<int, NoDefault>; static_assert(!std::is_default_constructible<P>::value, ""); using P2 = std::pair<NoDefault, int>; - static_assert(!std::is_default_constructible<P>::value, ""); + static_assert(!std::is_default_constructible<P2>::value, ""); } #endif } Index: test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp =================================================================== --- test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp +++ test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp @@ -26,7 +26,6 @@ struct F {}; struct FD : public F {}; -struct NotDerived {}; template <class T, class U> void test_result_of_imp() @@ -43,7 +42,6 @@ int main() { - typedef NotDerived ND; { typedef char F::*PMD; test_result_of_imp<PMD(F &), char &>(); Index: test/std/strings/string.classes/typedefs.pass.cpp =================================================================== --- test/std/strings/string.classes/typedefs.pass.cpp +++ test/std/strings/string.classes/typedefs.pass.cpp @@ -18,13 +18,14 @@ // typedef basic_string<wchar_t> wstring; #include <string> +#include <type_traits> int main() { - typedef std::string test1; - typedef std::wstring test2; + static_assert((std::is_same<std::string, std::basic_string<char> >::value), ""); + static_assert((std::is_same<std::wstring, std::basic_string<wchar_t> >::value), ""); #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - typedef std::u16string test3; - typedef std::u32string test4; + static_assert((std::is_same<std::u16string, std::basic_string<char16_t> >::value), ""); + static_assert((std::is_same<std::u32string, std::basic_string<char32_t> >::value), ""); #endif // _LIBCPP_HAS_NO_UNICODE_CHARS }
Index: test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp =================================================================== --- test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp +++ test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp @@ -49,7 +49,7 @@ using P = std::pair<int, NoDefault>; static_assert(!std::is_default_constructible<P>::value, ""); using P2 = std::pair<NoDefault, int>; - static_assert(!std::is_default_constructible<P>::value, ""); + static_assert(!std::is_default_constructible<P2>::value, ""); } #endif } Index: test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp =================================================================== --- test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp +++ test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp @@ -26,7 +26,6 @@ struct F {}; struct FD : public F {}; -struct NotDerived {}; template <class T, class U> void test_result_of_imp() @@ -43,7 +42,6 @@ int main() { - typedef NotDerived ND; { typedef char F::*PMD; test_result_of_imp<PMD(F &), char &>(); Index: test/std/strings/string.classes/typedefs.pass.cpp =================================================================== --- test/std/strings/string.classes/typedefs.pass.cpp +++ test/std/strings/string.classes/typedefs.pass.cpp @@ -18,13 +18,14 @@ // typedef basic_string<wchar_t> wstring; #include <string> +#include <type_traits> int main() { - typedef std::string test1; - typedef std::wstring test2; + static_assert((std::is_same<std::string, std::basic_string<char> >::value), ""); + static_assert((std::is_same<std::wstring, std::basic_string<wchar_t> >::value), ""); #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - typedef std::u16string test3; - typedef std::u32string test4; + static_assert((std::is_same<std::u16string, std::basic_string<char16_t> >::value), ""); + static_assert((std::is_same<std::u32string, std::basic_string<char32_t> >::value), ""); #endif // _LIBCPP_HAS_NO_UNICODE_CHARS }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits