D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 14563 - core.demangle: Does not demangle type modifers
Summary: core.demangle: Does not demangle type modifers
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: druntime (show other issues)
Version: D2
Hardware: All All
: P1 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-09 18:43 UTC by Iain Buclaw
Modified: 2017-08-16 13:22 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Iain Buclaw 2015-05-09 18:43:43 UTC
Running ddemangle with the following input:
---
_D8demangle1S2fnMFZv
_D8demangle1S2fnMxFZv
_D8demangle1S2fnMyFZv
_D8demangle1S2fnMNgFZv
_D8demangle1S2fnMOFZv
_D8demangle1S2fnMOxFZv
_D8demangle1S2fnMONgFZv
_D8demangle1S2fnMONgxFZv
---

Outputs:
---
void demangle.S.fn()
const(void function()) demangle.S.fn
immutable(void function()) demangle.S.fn
demangle.S.fninout(void function())
shared(void function()) demangle.S.fn
shared(const(void function())) demangle.S.fn
shared(inout(void function())) demangle.S.fn
shared(inout(const(void function()))) demangle.S.fn
---

All but the first are off by a mile.

Expected output should be something like:
---
void demangle.S.fn()
void demangle.S.fn() const
void demangle.S.fn() immutable
void demangle.S.fn() inout
void demangle.S.fn() shared
void demangle.S.fn() shared const
void demangle.S.fn() shared inout
void demangle.S.fn() shared inout const
---
Comment 1 github-bugzilla 2017-07-16 13:11:42 UTC
Commit pushed to mangle at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/0f564d62e8e982f7e73ac662592198a7313348fb
fix issues 14319, 14563, 17609, 17610, 17611: demangle: better detect function signatures in QualifiedNames, only print return types for the outmost symbol
Comment 2 github-bugzilla 2017-07-16 14:17:57 UTC
Commit pushed to master at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/0f564d62e8e982f7e73ac662592198a7313348fb
fix issues 14319, 14563, 17609, 17610, 17611: demangle: better detect function signatures in QualifiedNames, only print return types for the outmost symbol
Comment 3 github-bugzilla 2017-08-07 12:26:02 UTC
Commit pushed to newCTFE at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/0f564d62e8e982f7e73ac662592198a7313348fb
fix issues 14319, 14563, 17609, 17610, 17611: demangle: better detect function signatures in QualifiedNames, only print return types for the outmost symbol
Comment 4 github-bugzilla 2017-08-16 13:22:44 UTC
Commit pushed to stable at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/0f564d62e8e982f7e73ac662592198a7313348fb
fix issues 14319, 14563, 17609, 17610, 17611: demangle: better detect function signatures in QualifiedNames, only print return types for the outmost symbol