labath added a comment.

I like how you've separated out the conversion function doing the actual 
conversion. That should make it easy to write unit tests for it (including 
tests for malformed input). Can you add something like that? I am particularly 
interested in what will the merging code do when it encounters reference loops.

However, I find the usage of shared_ptr in the parsing code overkill. Surely we 
can come up with something better when the lifetime of all of the objects is 
local to the translation function. I think the most llvm-y solution would be to 
use a BumpPtrAllocator to create all nodes, and then just dispose of that when 
the function returns. (this assumes the nodes are trivially destructible, which 
it looks like they will be after they stop storing shared_ptrs).



================
Comment at: source/Plugins/SymbolFile/PDB/PDBFPOProgramToDWARFExpression.cpp:203
+private:
+  const std::map<llvm::StringRef, FPOProgramNodePtr> &m_dependent_programs;
+};
----------------
use `llvm::DenseMap` ?


Repository:
  rLLDB LLDB

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

https://reviews.llvm.org/D55122



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to