Hi D community!

I’m here again, to describe what I’ve done during the third week of Symmetry Autumn of Code.

Restructuring the patch history

According to LLVM team, the patch I previously sent needs to be split into smaller ones and that is a bit of a challenge. Why you may ask? Because looking at the ABI specification a lot of mangling nodes are dependent of each other and splitting 3000 lines of code into small, stackable and independent patches needs some planning. I tried several layouts and this one seems to work out the best, so I’m sticking with it.

Unfortunately, this week was kinda unproductive as I mostly spent this week entirely restructuring the patch.

Because I’ll only push the patches when they are done, for now, my work is on this branch, although bare in mind that this will constantly change, and to fetch new changes you need to hard reset them when pulling.

Fixing a bug on libiberty D demangler

During the restructure, I found out that anonymous symbols were not correctly handled and skipped, according to the specification, so I reported a bug and sent a patch to fix the issue.

Add fully qualified name on array DWARF tags

This is part of the milestone 2, but since I had this patch archived for a long time I decided to push it on the weekend.

What’s next?

Next week I hopefully finish the patch split and finally push this to the LLVM review platform. I’m also going to prepare some work for the milestone 2 that includes analyzing some DWARF info that is currently being generated by DMD/LDC/GDC compilers.

Read about the previous week and next week.