Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Commit

Permalink
Merge pull request #725 from Poita/bug8578
Browse files Browse the repository at this point in the history
Partial Fix Issue 8578 - Demangle special symbols (__init, __Class, etc....
  • Loading branch information
MartinNowak committed Oct 11, 2014
2 parents 7cb7307 + c51bd14 commit 83053e8
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/core/demangle.d
Expand Up @@ -779,6 +779,16 @@ private struct Demangle
next();
// TODO: Handle this.
return dst[beg .. len];
case 'Z': // Internal symbol
// This 'type' is used for untyped internal symbols, i.e.:
// __array
// __init
// __vtbl
// __Class
// __Interface
// __ModuleInfo
next();
return dst[beg .. len];
default:
if (t >= 'a' && t <= 'w')
{
Expand Down Expand Up @@ -1862,6 +1872,14 @@ version(unittest)
["_D8demangle4testFNhG2dZv", "void demangle.test(__vector(double[2]))"],
["_D8demangle4testFNhG4fNhG4fZv", "void demangle.test(__vector(float[4]), __vector(float[4]))"],
["_D8bug1119234__T3fooS23_D8bug111924mainFZ3bariZ3fooMFZv","void bug11192.foo!(int bug11192.main().bar).foo()"],
["_D13libd_demangle12__ModuleInfoZ", "libd_demangle.__ModuleInfo"],
["_D15TypeInfo_Struct6__vtblZ", "TypeInfo_Struct.__vtbl"],
["_D3std5stdio12__ModuleInfoZ", "std.stdio.__ModuleInfo"],
["_D3std6traits15__T8DemangleTkZ8Demangle6__initZ", "std.traits.Demangle!(uint).Demangle.__init"],
["_D3foo3Bar7__ClassZ", "foo.Bar.__Class"],
["_D3foo3Bar6__vtblZ", "foo.Bar.__vtbl"],
["_D3foo3Bar11__interfaceZ", "foo.Bar.__interface"],
["_D3foo7__arrayZ", "foo.__array"],
];

template staticIota(int x)
Expand Down

0 comments on commit 83053e8

Please sign in to comment.