summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2017-05-24 05:44:19 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2017-05-24 05:44:19 +0000
commit0a91f7ab6633790706437fd2e76d31939aeb0025 (patch)
tree03dcc30a31dd2e62d8db2f50d1d189efc1644191 /test
parentc515867bc14c433febcc574baedd081c078124d1 (diff)
[demangler] Fix a crash in the demangler during parsing of a lamdba
The problem is that multiple types could have been parsed from parse_type(), which the lamdba parameter parsing didn't handle. Differential revision: https://reviews.llvm.org/D33368 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@303718 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/test_demangle.pass.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/test/test_demangle.pass.cpp b/test/test_demangle.pass.cpp
index 3d17f8c..cd50988 100644
--- a/test/test_demangle.pass.cpp
+++ b/test/test_demangle.pass.cpp
@@ -29604,6 +29604,7 @@ const char* cases[][2] =
{"PFvRmOE", "void (*)(unsigned long&) &&"},
{"_ZTW1x", "thread-local wrapper routine for x"},
{"_ZTHN3fooE", "thread-local initialization routine for foo"},
+ {"_Z4algoIJiiiEEvZ1gEUlT_E_", "void algo<int, int, int>(g::'lambda'(int, int, int))"},
};
const unsigned N = sizeof(cases) / sizeof(cases[0]);
@@ -29664,7 +29665,8 @@ const char* invalid_cases[] =
"\x44\x74\x71\x75\x35\x2A\xDF\x74\x44\x61\x73\x63\x35\x2A\x3B\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x63\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x33\x44\x76\x35",
"\x44\x74\x70\x74\x71\x75\x32\x43\x41\x38\x65\x6E\x9B\x72\x4D\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x38\xD3\x73\x9E\x2A\x37",
"\x46\x44\x74\x70\x74\x71\x75\x32\x43\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x34\xD3\x73\x9E\x2A\x37\x72\x33\x8E\x3A\x29\x8E\x44\x35",
- "_ZcvCiIJEEDvT__FFFFT_vT_v",
+ "_ZcvCiIJEEDvT__FFFFT_vT_v",
+ "Z1JIJ1_T_EE3o00EUlT_E0",
};
const unsigned NI = sizeof(invalid_cases) / sizeof(invalid_cases[0]);