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.pin...@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