Bug 8578 – std.demangle.demangle does not parse symbols that are type names

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-08-21T18:29:00Z
Last change time
2015-02-18T03:37:41Z
Assigned to
nobody
Creator
sturtivant

Comments

Comment #0 by sturtivant — 2012-08-21T18:29:06Z
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.
Comment #1 by github-bugzilla — 2014-10-11T19:06:05Z
Commit pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/ed1cfd04037ffe948120f0744b03aa5ae2cffdff Merge pull request #628 from Poita/bug8578 Add the Z 'type' to the mangling ABI to denote internal symbols.
Comment #2 by github-bugzilla — 2014-10-11T19:39:44Z
Commits pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/c51bd14c5bf617c36fe9b55c377a3045023879be Partial Fix Issue 8578 - Demangle special symbols https://github.com/D-Programming-Language/druntime/commit/83053e8fb5bd733a09442d1ed318efef15ed3b1b Merge pull request #725 from Poita/bug8578 Partial Fix Issue 8578 - Demangle special symbols (__init, __Class, etc....
Comment #3 by github-bugzilla — 2015-02-18T03:37:41Z