Hi D community!

I’m here again, to describe what I’ve done during the thirteenth week of Symmetry Autumn of Code. This week as a bit atypical as I got infected with COVID-19 and this made me feel exhausted both physically and mentally.

Working approach to fetch basic types

After digging a bit about the problem I found out there is no problem specifically in Release builds, and a simple function called Verify is there to double check if the type is correct for Debug builds. After fixing that function, the LLDB can now dump some simple output about global TLS and non-TLS variables:

(lldb) ta v
Global variables for app.d in app:
app.bar = <No TLS data currently exists for this thread.>

app.ptr = <could not resolve type>
app.foobar =

For now it only recognizes boolean types, but it can’t show up the value since LLDB doesn’t know a way to dump it correctly.

You can try this version yourself using this branch.

Decoupling and trivial patches

I pushed a patch to decouple DWARF to LLDB encoding logic from Clang DWARF AST Parser, along with a trivial fix about duplicate map assignment:

What is next?

I already started working on some helpers to fetch the LLDB Format, Encoding and BasicType, along with other information about a type to properly display them. I’m not sure how Milestone 4 is going to work, as I underestimated the support for custom expessions.

You can also read this on the D programming language forum, here, and discuss there!

Read about the previous week and the next week.