About demangling

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Nov 1 08:40:23 PDT 2012


On Thu, Nov 01, 2012 at 03:16:25PM +0100, Dan wrote:
> On Thursday, 11 October 2012 at 21:04:28 UTC, Alex Rønne Petersen
> wrote:
> >On 11-10-2012 22:56, Sean Kelly wrote:
> >>On Oct 11, 2012, at 6:17 AM, Lubos Pintes
> >><lubos.pintes at gmail.com> wrote:
> >>
> >>>Hi,
> >>>Can someone point me to some source with information about
> >>>name demangling when compiling some D program and the famous
> >>>linker error 42 appears?
> >>
> >>Filter the symbol names through core.demangle.
> >>
> >
> >We even have a tool for that:
> >https://github.com/D-Programming-Language/tools/blob/master/ddemangle.d
> 
> Does this work and if so how? I've seen a thread about the demangling
> tool not working on types, just functions. The comment at top of this
> file says "Replaces *all* occurrences of mangled D symbols in the
> input..." so I assume it deals with types? The help says: 'If
> <inputfile> is a single dash '-', standard input is read.'
[...]

This program only calls the library core.demangle. So if core.demangle
doesn't demangle something, then it won't get demangled. The problem is,
there's a comment in core.demangle that seems to say that some mangled
symbols are skipped because they are not pertinent to the ABI, or
something to that effect. Meaning that *not* all symbols are getting
demangled.

I think this should be an enhancement request in the bugtracker.


T

-- 
Let's call it an accidental feature. -- Larry Wall


More information about the Digitalmars-d-learn mailing list