Support recursive record types in CTF. We are now more lazy when creating LLDB types. When encountering a record type (struct or union) we create a forward declaration and only complete it when requested.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Generally LGTM, just some clarifications questions
lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp | ||
---|---|---|
509 | Just to clarify the lifetimes. This ctf_record lives on m_ast while the m_compiler_types on the SymbolFile, so we're guaranteed that the ctf_record lives long enough? | |
525–530 | Nit: would it make sense to just add classof methods to CTFType and use the llvm cast facilities? Feel free to ignore since there's just one instance of such cast afaict |
lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp | ||
---|---|---|
509 |
| |
525–530 | I considered it too, but at this point I don't think it's worth it. If we need other casts that's definitely the way to go. |
Just to clarify the lifetimes. This ctf_record lives on m_ast while the m_compiler_types on the SymbolFile, so we're guaranteed that the ctf_record lives long enough?