[Lldb-commits] [PATCH] D59537: Instantiate 'std' templates explicitly in the expression evaluator

Balázs Kéri via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 19 04:39:10 PDT 2019


balazske added inline comments.


================
Comment at: lldb/source/Symbol/StdModuleHandler.cpp:220
+    case TemplateArgument::Type: {
+      QualType our_type = m_importer.Import(arg.getAsType());
+      imported_args.push_back(TemplateArgument(our_type));
----------------
For long-term (but it should be not so long) the `ASTImporter::Import_New` should be used (later the Import_New will become the Import). By using the existing Import_New the code will be prepared for this change. For this to work the error handling (ignore error, return it from Import or something else) must be implemented here.


================
Comment at: lldb/source/Symbol/StdModuleHandler.cpp:221
+      QualType our_type = m_importer.Import(arg.getAsType());
+      imported_args.push_back(TemplateArgument(our_type));
+      break;
----------------
I do not know if it is possible that the type to be imported here can have back-references to the template object that is currently imported (for example a vector of vectors?). If yes this case may not work correctly.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59537/new/

https://reviews.llvm.org/D59537





More information about the lldb-commits mailing list