jingham added inline comments.
================ Comment at: source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp:55 #include "Plugins/Language/CPlusPlus/CPlusPlusLanguage.h" +#include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h" ---------------- xiaobai wrote: > labath wrote: > > compnerd wrote: > > > xiaobai wrote: > > > > JDevlieghere wrote: > > > > > What's the benefit of making this a separate plugin, as compared to > > > > > making it part of `Plugins/Language/CPlusPlus`? > > > > I view LanguageRuntimes as distinct from Languages and thus I think > > > > they should go into their own plugins. However, I'm not against moving > > > > this to `Plugins/Language/CPlusPlus` if you think it would make more > > > > sense to do so for another reason (e.g. less plugins overall?) > > > We do need the abstraction since there are multiple C++ runtimes: c++, > > > stdc++, MSVCPRT, stlport, etc. Each one is slightly different. > > > Furthermore, libstdc++ supported the GNU and Solaris ABIs, libc++ only > > > does itanium, MSVCPRT only does MSVC ABI. So, we need to have some layer > > > to differentiate between the various ABIs and just general C++ language > > > support. > > That is true. However, I'm not sure whether the current boundary actually > > makes sense. E.g. the c++ language plugin implements pretty printers for > > both libc++ and libstdc++. > Given that those are formatters specific to the libc++ and libstdc++ > implementations, I think it would make sense that those are a part of the C++ > language runtime plugin(s). So the problem with that is that formatters don't actually require a live process to be useful. They can be used to view static data in a not-running process. But LanguageRuntimes currently only come from a process. So to move the formatters to the LanguageRuntime - which does make some sense - you're going to have to change the LanguageRuntime to do some things for a target with no process and the more things when the Process gets a target. That's not a bad change, BTW. Anyway, that's why the formatters are a little out-of-place. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64599/new/ https://reviews.llvm.org/D64599 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits