diff options
author | shafik <syaghmour@apple.com> | 2019-11-06 14:06:56 -0800 |
---|---|---|
committer | shafik <syaghmour@apple.com> | 2019-11-06 14:20:00 -0800 |
commit | 83393d27af6631d1df5c549feb214abbdd1d6054 (patch) | |
tree | 3286527ab9145669228fccc3ca30a0afa5a6a24a /lldb/unittests/Core/MangledTest.cpp | |
parent | 007d173e2e0c29903bc17a9d5108f531a6f2ea4d (diff) | |
download | bcm5719-llvm-83393d27af6631d1df5c549feb214abbdd1d6054.tar.gz bcm5719-llvm-83393d27af6631d1df5c549feb214abbdd1d6054.zip |
[LLDB] Fix handling for the clang name mangling extension for block invocations
Add support for clangs mangling extension for block invocations.
Differential Revision: https://reviews.llvm.org/D69738
Diffstat (limited to 'lldb/unittests/Core/MangledTest.cpp')
-rw-r--r-- | lldb/unittests/Core/MangledTest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/unittests/Core/MangledTest.cpp b/lldb/unittests/Core/MangledTest.cpp index f1ea6a04df9..2e1f3db8abe 100644 --- a/lldb/unittests/Core/MangledTest.cpp +++ b/lldb/unittests/Core/MangledTest.cpp @@ -37,6 +37,17 @@ TEST(MangledTest, ResultForValidName) { EXPECT_STREQ(ExpectedResult.GetCString(), TheDemangled.GetCString()); } +TEST(MangledTest, ResultForBlockInvocation) { + ConstString MangledName("___Z1fU13block_pointerFviE_block_invoke"); + Mangled TheMangled(MangledName); + ConstString TheDemangled = + TheMangled.GetDemangledName(eLanguageTypeC_plus_plus); + + ConstString ExpectedResult( + "invocation function for block in f(void (int) block_pointer)"); + EXPECT_STREQ(ExpectedResult.GetCString(), TheDemangled.GetCString()); +} + TEST(MangledTest, EmptyForInvalidName) { ConstString MangledName("_ZN1a1b1cmxktpEEvm"); Mangled TheMangled(MangledName); |