[PATCH 6/7] [D] libiberty: Improve support for demangling D2 templates
Iain Buclaw
ibuclaw@gdcproject.org
Wed May 13 08:51:00 GMT 2015
In my tests, this gives the demangler near-complete support. Of a
sample of about 75k symbols pulled from the standard library
unittester, all but 20 were successfully parsed.
---
libiberty/ChangeLog:
2015-05-13 Iain Buclaw <ibuclaw@gdcproject.org>
* d-demangle.c (dlang_symbol_kinds): New enum.
(dlang_parse_symbol): Update signature. Handle an ambiguity between mangle
symbol for pascal and template value arguments. Only check for a type
if parsing a function, or at the top level. Return failure if the
entire symbol was not successfully demangled.
(dlang_identifier): Update signature. Handle an ambiguity between two
adjacent digits in a mangled symbol string.
(dlang_type): Update call to dlang_parse_symbol.
(dlang_template_args): Likewise.
(dlang_parse_template): Likewise.
(dlang_demangle): Likewise.
* testsuite/d-demangle-expected: Fix bad tests found, and add problematic
examples to the unittests.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-D-demangle-Better-support-for-D-template-symbols.patch
Type: text/x-diff
Size: 15632 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150513/8bb58baf/attachment.bin>
More information about the Gcc-patches
mailing list