[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