On 05/13/2015 02:51 AM, Iain Buclaw wrote:
Hi,

Started these as separate patches, but as more came out of what I was
originally trying to achieve (see Patch 6/7), I thought it better to
have it as a running series.

These set out to update d-demangle.c for new ABI additions, general
bug fixes, and improved template support.
---

D templates can have string literals encoded inside them, which can
also include tabs, newlines, and other whitespace characters.  For
example:

return getHost!q{
     auto he = gethostbyname(toStringz(param));
}(name);


In this case, rather than decoding and writing out every character
directly, whitespace or other non-printable characters should be
represented as escape sequences.

---
libiberty/ChangeLog:

2015-05-13 Iain Buclaw  <ibuc...@gdcproject.org>

     * d-demangle.c (dlang_parse_string): Represent embedded whitespace or
     non-printable characters as hex or escape sequences.
     * testsuite/d-demangle-expected: Add test for templates with tabs and
     newlines embedded into the signature.
OK.
jeff

Reply via email to