bulbazord added a subscriber: aprantl.
bulbazord added a comment.

In D145580#4209621 <https://reviews.llvm.org/D145580#4209621>, @DavidSpickett 
wrote:

> On the subject of not using `TypeSystemClang`, looking around it seems like 
> `TypeSystem` is purely used to look up basic types, never to make new ones. 
> When new types are made the code asks the `TypeSystem` for its 
> `TypeSystemClang` and then uses that to do it.
>
> Is that a limitation of `TypeSystem` or just that it's missing methods? I 
> also looked for ways to build types without the type system then add them to 
> it, but didn't find any. Do we have anyone who knows more about this? (I sure 
> don't)

I think @aprantl might know more about TypeSystems and what their intended 
use/capabilities are. It's entirely possible that TypeSystem is just not as 
flexible as it could be.

> I could move the code into an existing plugin like Platform. Problems with 
> that:
>
> - Platform implementations are plugins, the base class is not so I have to 
> have 3 copies of the method.
> - When using a core file, the platform is always the host. Might be able to 
> work around that by passing the core file's triple in each time.
>
> Or put the code into a new plugin but then I've just got the same dependency 
> problem with more steps.
>
> There is code for dealing with user expressions so I could make the types out 
> of strings and evaluate something like:
>
>   *reinterpret_cast(
>     __attribute__((packed)) struct __lldb_register_fields_cpsr {
>       uint32_t z;
>       ...
>     })(<fake address of register value)
>
> It does feel like something that code wasn't intended to do.

Right, these solutions might not be as nice. I've been working to stop using 
plugins in non-plugin code for a few years now so I'd like to prevent us from 
adding new uses where possible. I don't want to block progress though! Let's 
see if @aprantl can help us out.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145580/new/

https://reviews.llvm.org/D145580

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to