Hi.

I've fixed up the D demangler in gdb with one or two hicks left to address. As the below auto-complete feature presents, the full function signatures are now shown.

(gdb) break 'gdbstress.testsig(
gdbstress.testsig(double)
gdbstress.testsig(float)
gdbstress.testsig(real)


Currently, I have been dwelling on the best way to express the following symbols:

__ctorMFZ
__dtorMFZ
__postblitMFZ
__initZ
__ClassZ
__vtblZ
__InterfaceZ
__ModuleInfoZ


This is the current mapping I've got in my local branch:

__ctor -> this
__dtor -> ~this
__postblit -> this(this)
__init -> init
__Class -> classinfo
__vtbl -> vtable
__interface -> interfaceinfo
__ModuleInfo -> moduleinfo


However I'm not sure if the names are sufficient, and whether or not they should really be prefixed with a double underscore to ensure that they don't conflict with user-declared members (especially the compiler-generated symbols).


What do you think?

(gdb) print 'gdbstress.testmembers.
gdbstress.testmembers.this(this, int)
gdbstress.testmembers.~this()
gdbstress.testmembers.this(this)
gdbstress.testmembers.init


Regards
Iain.

Reply via email to