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
Event Timeline
Generally LGTM, just some clarifications questions
lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp | ||
---|---|---|
508 | 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? | |
524–529 | 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 | ||
---|---|---|
508 |
| |
524–529 | 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?