1 --- 2 title: 'SAOC LLDB D integration: 10th Weekly Update' 3 date: '2021-11-25T21:26:00+01:00' 4 tags: ['saoc', 'saoc2021', 'dlang', 'llvm', 'lldb', 'debug', 'debugging', 'dwarf'] 5 description: "This post describes what I've done on the 10th week of the 6 Symmetry Autumn of Code 2021, including follow up updates on the LLVM patches 7 and implementation of a minimal TypeSystem for D." 8 --- 9 10 Hi D community! 11 12 I'm here again, to describe what I've done during the tenth week of Symmetry 13 Autumn of Code. 14 15 ## LLVM upstream follow up update 16 17 During the discussion for the next patch in the train, 4 more patches have been 18 raised, due to request to split it even more: 19 20 - https://reviews.llvm.org/D114305 21 - https://reviews.llvm.org/D114307 22 - https://reviews.llvm.org/D114308 23 - https://reviews.llvm.org/D114309 24 25 Some more changes were made on other existing patches due to further discussion 26 on implementation details. 27 28 I also proposed a minor change on the specification to accommodate artificial 29 local parent symbols when mangling ambiguities happen, see 30 [here](https://github.com/dlang/dlang.org/pull/3124). 31 32 ## Minimal TypeSystem for D 33 34 This week I finally focused on getting a minimal TypeSystem working for D on 35 the LLDB. This means nothing to the end user and huge change need to be made to 36 make it functional exactly the same as is right now, the main difference is 37 that, instead of relying on Clang type system, we have our own. 38 39 For now it has the Clang type system disabled and detects D as usual, but does 40 nothing, when requesting any type information. 41 42 The current changes for the implementation of D TypeSystem will be in 43 [this](https://github.com/ljmf00/lldb-d/pull/1) PR. 44 45 I decided to create a seperate repository for this until I have a decent plugin 46 to upstream. As this might take a while to implement, I would like to ask the 47 community if it is worth to do some builds to several platforms with the 48 demangling and language formatters enabled? I'm particularly asking this since 49 building LLVM is a beefy task and some may not be able to do it easily with 50 their machine. What is your thoughts? 51 52 ## What is next? 53 54 I will continue implementing TypeSystem for D as well as a new type wrapper to 55 represent a D type. I'm going to start adding support for very basic types. 56 57 You can also read this on the D programming language forum, 58 [here](https://email@example.com), 59 and discuss there, including your thoughts about the asked questions! 60 61 Read about the [previous week](../d-saoc-2021-09/) and [next 62 week](../d-saoc-2021-11/).