summaryrefslogtreecommitdiff
path: root/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-01-19 10:06:29 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-01-19 10:06:29 +0000
commit94994d372d014ce4c8758b9605d63fae651bd8aa (patch)
tree51c0b708bd59f205d6b35cb2a8c24d62f0c33d77 /unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
parent39be7ce23363d12ae3e49aeb1fdb2bfeb892e836 (diff)
Notes
Diffstat (limited to 'unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp')
-rw-r--r--unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp11
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());
}