diff options
Diffstat (limited to 'unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp')
-rw-r--r-- | unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp b/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp index 7a81b878f633..148359903c17 100644 --- a/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp +++ b/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp @@ -138,7 +138,14 @@ TEST(CPlusPlusLanguage, ExtractContextAndIdentifier) { {"std::vector<Class, std::allocator<Class>>" "::_M_emplace_back_aux<Class const&>", "std::vector<Class, std::allocator<Class>>", - "_M_emplace_back_aux<Class const&>"}}; + "_M_emplace_back_aux<Class const&>"}, + {"`anonymous namespace'::foo", "`anonymous namespace'", "foo"}, + {"`operator<<A>'::`2'::B<0>::operator>", + "`operator<<A>'::`2'::B<0>", + "operator>"}, + {"`anonymous namespace'::S::<<::__l2::Foo", + "`anonymous namespace'::S::<<::__l2", + "Foo"}}; llvm::StringRef context, basename; for (const auto &test : test_cases) { @@ -183,4 +190,6 @@ TEST(CPlusPlusLanguage, FindAlternateFunctionManglings) { EXPECT_THAT(FindAlternate("_ZN1A1fEa"), Contains("_ZN1A1fEc")); EXPECT_THAT(FindAlternate("_ZN1A1fEx"), Contains("_ZN1A1fEl")); EXPECT_THAT(FindAlternate("_ZN1A1fEy"), Contains("_ZN1A1fEm")); + EXPECT_THAT(FindAlternate("_ZN1A1fEai"), Contains("_ZN1A1fEci")); + EXPECT_THAT(FindAlternate("_bogus"), IsEmpty()); } |