mangle

Jacob Carlborg doob at me.com
Tue Jul 6 03:04:15 PDT 2010


On 2010-07-06 07.21, Brad Roberts wrote:
> On 7/3/2010 11:34 AM, Jacob Carlborg wrote:
>> On 2010-07-02 18.17, Ellery Newcomer wrote:
>>> On 07/01/2010 08:16 PM, Adam Ruppe wrote:
>>>> http://dpldocs.info/std.demangle
>>>
>>> import std.demangle;
>>> import std.stdio;
>>> void main(){
>>>
>>> writeln(demangle("_D3std6random156__T11RandomCoverTAiTS3std6random98__T21MersenneTwisterEngineTkVi32Vi624Vi397Vi31Vk2567483615Vi11Vi7Vk2636928640Vi15Vk4022730752Vi18Z21MersenneTwisterEngineZ11RandomCover4saveMFNdZS3std6random156__T11RandomCoverTAiTS3std6random98__T21MersenneTwisterEngineTkVi32Vi624Vi397Vi31Vk2567483615Vi11Vi7Vk2636928640Vi15Vk4022730752Vi18Z21MersenneTwisterEngineZ11RandomCover"));
>>>
>>>
>>> }
>>>
>>> gives
>>>
>>> _D3std6random156__T11RandomCoverTAiTS3std6random98__T21MersenneTwisterEngineTkVi32Vi624Vi397Vi31Vk2567483615Vi11Vi7Vk2636928640Vi15Vk4022730752Vi18Z21MersenneTwisterEngineZ11RandomCover4saveMFNdZS3std6random156__T11RandomCoverTAiTS3std6random98__T21MersenneTwisterEngineTkVi32Vi624Vi397Vi31Vk2567483615Vi11Vi7Vk2636928640Vi15Vk4022730752Vi18Z21MersenneTwisterEngineZ11RandomCover
>>>
>>>
>>
>> std.demangle is incomplete, missing newer D2 features like return by reference,
>> and incorrectly handles floating point numbers in tempaltes. If it encounters
>> something it can't demangle it will just return the original mangled name.
>
> Obviously any failures to demangle symbols produced by the compiler is a bug and
> should be treated as such.. so.. please file 'em.
>
> Thanks,
> Brad

Already filed, issue 4323 and 3334.

-- 
Jacob Carlborg


More information about the Digitalmars-d mailing list