This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] D: support reading modules from DWARF


On 18 July 2015 at 20:01, Doug Evans <xdje42@gmail.com> wrote:
> Iain Buclaw <ibuclaw@gdcproject.org> writes:
>> Hi,
>>
>> D uses modules (DW_TAG_module), but to separate the namespace of every
>> source file.  Modules can be imported into each other, either publicly
>> or privately (DW_TAG_imported_module).  Or declarations can be
>> selectively imported or renamed (DW_TAG_imported_decl).
>>
>> This patch pretty much just extends the existing support for
>> namespaces/modules in C++/Fortran/Java to include language_d too.
>> However unlike Fortran/C++, the separator for qualified names is a
>> single dot.
>>
>> This will need to be followed up with a patch to support looking up
>> symbols in D module 'namespaces'.  However I'm currently unsure
>> whether to either extend cp-namespace.c, or to go ahead with my
>> current fork (d-namespace.c), which copies only what's needed,
>> adjusting for D-specific symbol import logic.
>
> Hi.
>
> Re: cp-namespace.c:
> Hard to say without seeing the patch,
> but having spent a lot of time cleaning up cp-namespace.c
> I'm not fond of complicating it again to handle more languages.
>
> So, and again I'd have to see the patch to be sure,
> I'd say plan on going with d-namespace.c.

Thanks, I see you have found the other patch I was referring to.

Assuming that you are intimate with cp-namespace.c, I might have to
pick your brains for a couple of things that should be possible, but
are currently not.  However with the current homework I've done so
far, I suspect that I'll have to request an amendment for inclusion in
the next DWARFv5 specification first before anything else.

Regards
Iain.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]