DavidSpickett added a comment.
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 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.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145580/new/
https://reviews.llvm.org/D145580
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits