D demangler for C++

Witold Baryluk witold.baryluk at gmail.com
Mon Nov 28 16:16:43 UTC 2022


On Monday, 28 November 2022 at 12:48:15 UTC, max haughton wrote:
> On Sunday, 27 November 2022 at 23:12:35 UTC, Witold Baryluk 
> wrote:
>> https://github.com/baryluk/d-demangle-cpp
>>
>> D programming language (dlang) symbol name demangler for C++
>>
>> [...]
>
> Wouldn't some of those tools already have one via libiberty?
>
> https://github.com/gcc-mirror/gcc/blob/master/libiberty/d-demangle.c

`libiberty` has way more things than just D demangler. And some 
projects might not be comfortable with its licensing. And 
libiberty uses autoconf / automake, which is just gross for most 
people.

The idea is to have something simpler, portable (zero conf), just 
for this task, so it is as easy as possible to integrate and have 
flexible licensing.

Many of the tools do not use libiberty, but just call 
`abi::__cxa_demangle` for example. Take a look for for a 
heaptrack tool: 
https://github.com/KDE/heaptrack/blob/master/src/interpret/heaptrack_interpret.cpp#L40-L56

You are free to use `libiberty` if you want.

My demangler is just another option.


More information about the Digitalmars-d-announce mailing list