About demangling
Regan Heath
regan at netmail.co.nz
Thu Nov 1 09:17:16 PDT 2012
On Thu, 01 Nov 2012 15:40:23 -0000, H. S. Teoh <hsteoh at quickfur.ath.cx>
wrote:
> 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.
There is also a bug in demangle.d, line 55:
foreach (line; stdin.byLine())
should read:
foreach (line; f.byLine())
R
--
Using Opera's revolutionary email client: http://www.opera.com/mail/
More information about the Digitalmars-d-learn
mailing list