D demangler for C++
Iain Buclaw
ibuclaw at gdcproject.org
Wed Nov 30 13:29:28 UTC 2022
On Monday, 28 November 2022 at 16:16:43 UTC, Witold Baryluk wrote:
> On Monday, 28 November 2022 at 12:48:15 UTC, max haughton wrote:
>>
>> 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.
As the author, you're free to re-license that file as whatever so
long as you email me for permission.
A clean-room implementation would likely be better though -
libibert/d-demangle.c comes with backwards compatibility baggage
that anyone implementing a tool/library today would not be
interested in.
More information about the Digitalmars-d-announce
mailing list