From d2469bc9e84a30190295ef2af0a85f4bb4802dd0 Mon Sep 17 00:00:00 2001 From: hjk <hjk121@nokiamail.com> Date: Fri, 5 Jul 2013 18:04:23 +0200 Subject: [PATCH] CppRewriter: Treat libc++'s std::__1:: as std:: for debugger display Change-Id: Iabc1330633e5568b7c94059d4286c93adfecb1a2 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> --- src/libs/cplusplus/CppRewriter.cpp | 1 + .../auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index 008249344c..65191194e2 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -527,6 +527,7 @@ CPLUSPLUS_EXPORT QString simplifySTLType(const QString &typeIn) if (type.startsWith(QLatin1String("struct "))) type.remove(0, 7); + type.replace(QLatin1String("std::__1::"), QLatin1String("std::")); type.replace(QLatin1Char('*'), QLatin1Char('@')); for (int i = 0; i < 10; ++i) { diff --git a/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp b/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp index e13a1ba841..5f8349b54f 100644 --- a/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp +++ b/tests/auto/cplusplus/simplifytypes/tst_simplifytypestest.cpp @@ -42,6 +42,7 @@ const char *description[] = "g++_stringset", "g++_stringvector", "g++_wstringvector", + "libc++_stringvector", "msvc_stdstring", "msvc_stdwstring", "msvc_stringmap", @@ -63,6 +64,8 @@ const char *input[] = "std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >", "std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >", "std::vector<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >", +// libc++ +"std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >", // MSVC "class std::basic_string<char,std::char_traits<char>,std::allocator<char> >", "class std::basic_string<unsigned short,std::char_traits<unsigned short>,std::allocator<unsigned short> >", @@ -76,6 +79,7 @@ const char *input[] = const char *output[] = { + // Gcc "std::string", "std::wstring", "std::map<std::string, std::string>", @@ -84,6 +88,9 @@ const char *output[] = "std::set<std::string>", "std::vector<std::string>", "std::vector<std::wstring>", + // libc++ + "std::vector<std::string>", + // MSVC "std::string", "std::wstring", "std::map<std::string, std::string>", -- GitLab