diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2020-03-13 17:13:18 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2020-03-13 17:13:18 (GMT) |
commit | 9e3dfa57a62aebacd9c14f0ca3b5cbcd3f84097f (patch) | |
tree | 9ee7daf8c9ed2f89490fdfdd4f57528892fb11f4 | |
parent | a955b79a17f23157a02e2312b8693498c5f54b09 (diff) |
Fixed a little coding mistake in Itanium demangling.
-rw-r--r-- | plugins/itanium/abi.c | 2 | ||||
-rw-r--r-- | tests/mangling/itanium.py | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/plugins/itanium/abi.c b/plugins/itanium/abi.c index 2a9561f..34a2a01 100644 --- a/plugins/itanium/abi.c +++ b/plugins/itanium/abi.c @@ -1011,7 +1011,7 @@ static itanium_component *itd_template_prefix(GItaniumDemangling *context) else if (peek == 'T') result = itd_template_param(context); - if (is_itd_unqualified_name(context)) + else if (is_itd_unqualified_name(context)) result = itd_unqualified_name(context); /* Vérification : a-t-on empiété sur une règle <prefix> ? */ diff --git a/tests/mangling/itanium.py b/tests/mangling/itanium.py index 7ff16c2..a1cc517 100644 --- a/tests/mangling/itanium.py +++ b/tests/mangling/itanium.py @@ -192,7 +192,7 @@ class TestItaniumMangling(ChrysalideTestCase): self.check_demangling(demangled, '??? zzz::aa<cccc::xxxx<float>>::ddddd(unsigned int)') demangled = demangler.decode_routine('_ZN3aaa3bbbINS_3cccIfEEE3dddEj') - self.check_demangling(demangled, '??? aaa::bbb<ccc<float>>::ddd(unsigned int)') + self.check_demangling(demangled, '??? aaa::bbb<aaa::ccc<float>>::ddd(unsigned int)') def testAndroidSystem(self): @@ -207,7 +207,10 @@ class TestItaniumMangling(ChrysalideTestCase): self.check_demangling(demangled, '??? icu_55::Locale::operator=(const icu_55::Locale &)') demangled = demangler.decode_routine('_ZNSt3__16vectorIfNS_9allocatorIfEEE8__appendEj') - self.check_demangling(demangled, '??? std::__1::vector<float, allocator<float>>::__append(unsigned int)') + self.check_demangling(demangled, '??? std::__1::vector<float, std::__1::allocator<float>>::__append(unsigned int)') demangled = demangler.decode_routine('_ZN7android7String8C1EPKDsj') self.check_demangling(demangled, 'android::String8 *android::String8::String8(const char16_t *, unsigned int)') + + demangled = demangler.decode_routine('_ZNSt3__111__tree_nextIPNS_16__tree_node_baseIPvEEEET_S5_') + self.check_demangling(demangled, 'std::__1::__tree_node_base<void *> *std::__1::__tree_next<std::__1::__tree_node_base<void *> *>(std::__1::__tree_node_base<void *> *)') |