DW_TAG_module experiment.

Iain Buclaw ibuclaw at gdcproject.org
Fri Feb 21 12:40:22 PST 2014


On 18 February 2014 15:08, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
> On 18 February 2014 14:22, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>> On 18 February 2014 13:34, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>>> On 18 February 2014 09:45, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>>>> On 18 February 2014 09:12, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>>>>> On 18 February 2014 08:49, Johannes Pfau <nospam at example.com> wrote:
>>>>>> Am Sun, 16 Feb 2014 23:18:17 +0000
>>>>>> schrieb "Iain Buclaw" <ibuclaw at gdcproject.org>:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> This weeks experiment is with actually building a NAMESPACE_DECL
>>>>>>> for D modules, and emitting them as DW_TAG_module in dwarf2out.c
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/D-Programming-GDC/GDC/commit/91a1863170431a37de473011c148f4927a2a3944
>>>>>>>
>>>>>>>
>>>>>> Sounds great!
>>>>>>
>>>>>>>
>>>>>>> Johannes, I've only updated the 4.9.x patches. You may want to
>>>>>>> backport this after my gdb changes have been submitted and pushed
>>>>>>> into gdb-development (which will be the gdb-7.8 release).
>>>>>>>
>>>>>>
>>>>>> OK, will do.
>>>>>> BTW: Did you forget to commit some changes or is this stuff unfinished?
>>>>>> It broke the autotester* and I see the same errors when building GDC.
>>>>>>
>>>>>> * https://d.puremagic.com/test-results/?projectid=2
>>>>>
>>>>>
>>>>> Gah! Didn't see that one coming.  Do you know which commit broke it?
>>>>> (I can do a quick bisect if not)
>>>>>
>>>>
>>>> Apparently my recent changes didn't break the autotester...
>>>
>>> OK, I didn't clean the library directory correctly.
>>> 91a1863170431a37de473011c148f4927a2a3944 is to blame
>>
>> Didn't update d_finish_compilation.
>
>
> Should be passing now....
>
> https://github.com/D-Programming-GDC/GDC/commit/1a9ee141dcd815d3e3cda2ecb63bdef528611946


Got some more quick changes incoming:

1. Use the ModuleDeclaration location to set the NAMESPACE_DECL
location - currently this is always line 1 of the file.
2. Set DECL_EXTERNAL on NAMESPACE_DECL's if we are not compiling the module.
3. Emit DW_TAG_imported_module on ImportStatement's.

Regards
Iain.


More information about the D.gnu mailing list