summaryrefslogtreecommitdiffstats
path: root/lldb/unittests/Core/MangledTest.cpp
diff options
context:
space:
mode:
authorshafik <syaghmour@apple.com>2019-11-06 14:06:56 -0800
committershafik <syaghmour@apple.com>2019-11-06 14:20:00 -0800
commit83393d27af6631d1df5c549feb214abbdd1d6054 (patch)
tree3286527ab9145669228fccc3ca30a0afa5a6a24a /lldb/unittests/Core/MangledTest.cpp
parent007d173e2e0c29903bc17a9d5108f531a6f2ea4d (diff)
downloadbcm5719-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.cpp11
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);
OpenPOWER on IntegriCloud