std.demangle.demangle does not parse symbols that are type names

Carl Sturtivant sturtivant at gmail.com
Tue Aug 21 06:34:35 PDT 2012


Use of demangle from std.demangle or core.demangle on the mangled 
names in an object or library generated by dmd works only on the 
names of functions, and not on the names of types embedded in 
such objects and libraries.

e.g. the following names are not demangled, being type names 
(ending in Z).

_D13libd_demangle12__ModuleInfoZ
_D15TypeInfo_Struct6__vtblZ
_D3std5stdio12__ModuleInfoZ
_D3std6traits15__T8DemangleTkZ8Demangle6__initZ
_D47TypeInfo_S3std6traits15__T8DemangleTkZ8Demangle6__initZ

Opinion: D should do the right thing and have the facility to 
demangle all of its own mangled names; no-one else will.



More information about the Digitalmars-d-bugs mailing list