> On Sep 17, 2015, at 10:14 AM, Ryan Brown <rib...@google.com> wrote: > > > > On Thu, Sep 17, 2015 at 10:06 AM Greg Clayton via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > > On Sep 17, 2015, at 3:08 AM, Bruce Mitchener <bruce.mitche...@gmail.com> > > wrote: > > > > Howdy! > > > > I was looking at some of the CompilerType changes and had some questions > > related to the recent cleanups and renamings. > > > > • clang_type_t is a typedef for void* and is used for the opaque qual > > type code among other things. However, the m_type on CompilerType is just a > > void*. Should we rename clang_type_t to compiler_type_t or just do away > > with it and use void* instead? > > It might be a good idea to use something like "compiler_opaque_type_t" or > just "opaque_t", which is a typedef to "void *". Then we can use this to > CompilerDecl, CompilerDeclContext and CompilerType. > > > • SymbolFileDWARF has 2 typedefs, DIEToClangType and ClangTypeToDIE > > which are used for 2 maps, m_forward_decl_die_to_clang_type and > > m_forward_decl_clang_type_to_die. Should these be renamed to use Compiler > > instead of Clang? > > They could be, but I really need to move these DIEToClangType and > ClangTypeToDIE over into DWARFASTParserClang. The problem it is isn't saving > the entire CompilerType it is just saving the clang_type_t and some other > type system, like Go's TypeSystem, could actually make a CompilerType and use > its type system and this "void *"... So this map is really just for Clang > types. The reason it wasn't moved was we only have one DWARFASTParserClang > when we have DWARF in .o files on MacOSX (we have a "a.out" executable and it > points to N SymbolFileDWARF instances (one for each .o file where the .o > files contain DWARF, but there is no DWARF in the main executable) so I > didn't want to move this map over into DWARFASTParserClang since this would > change things. So I vote to not rename it for now and let users know this is > for clang types only... > > Actually the DWARFASTParserGo is using this too. > Is that a problem? It seems like each die should only be associated with one > compile unit and hence one type system. >
Yes that is a problem if there is ever mixed Go and C/C++/ObjC in one binary. I would switch DWARFASTParserGo() to have its own cache and use it. Greg _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev