December 09, 2021

Hi D community!

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

LLVM upstream follow up update

Two more patches in the D demangling patch train got merged!

After getting my testsuite working reasonably well, I self merged those two
accepted patches. I've contacted some LLVM members to figure out why buildbots
were not reproducing my errors, and it seems some tests are not running on
their testsuite, hence the error.

I also amended some existing patches, accordingly with reviews.

Finishing implementation of basic types and continuing decoupling Clang-specific code

I finished the implementation I had in mind to support at least one basic type
(I choose boolean, just for testing it, being straightforward to implement the
rest) with a Type wrapper called DType. Although, I'm not getting any output
from the DWARF parser and ParseTypeFromDWARF function is not being called at
all. I checked other language implementations, like Golang, but they are very
outdated. I assume there is yet another entangled clang-specific stuff I still
need to figure out or something I'm missing.

You can see the changes here:
https://github.com/devtty63/llvm-project/tree/lldb-d/implement-typesystem-d

I made one more patch to move forward with clang-specific decoupling, in order
to be able to support custom languages:

I have more changes uncommitted that needs some tuning, including a DWARF to
LLDB encoding helper, needed by language DWARF AST Parsers.

Simple Continuous Integration for LLDB-d

I've been tinkering with some custom continuous integration for my llvm tree to
provide automated builds to the community to test. So, I moved the repository
to a new organization just to be able to have organization-wide self-hosted
machines on Github actions. I already have a successful action working but it
takes around 4h to complete, not including the actual testsuite, so I still
need to revaluate the workflow and probably choose self-hosted machines for
fast builds. Here are the workflows, if you are interested:
https://github.com/devtty63/llvm-project/actions .

What is next?

I will try to figure out why my current approach is not working as expected and
if I get a successful output, I will start working on the DWARF dump system.

You can read this also on my blog.