[Lldb-commits] [PATCH] D110571: [lldb] Add omitted abstract formal parameters in DWARF symbol files
Jaroslav Sevcik via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Oct 1 06:29:41 PDT 2021
jarin added a comment.
Thank you for the great comments, Pavel. I took a stab at merging the parameters without interleaving them with the locals. Let me know what you think; I can certainly put this back to the original state if you think this is a change for the worse.
(I am sorry for the churn, but I feel the code is fairly subtle and would like to leave it in a state we are all happy with.)
================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3561-3562
+ const lldb::addr_t func_low_pc, VariableList &variable_list,
+ llvm::SmallVectorImpl<DWARFDIE> &abstract_formal_parameters,
+ size_t &abstract_parameter_index) {
size_t vars_added = 0;
----------------
labath wrote:
> I'm wondering if one could pass a single `ArrayRef<DWARFDIE> &` argument instead of the array+index pair. FWICS, you're processing the list in a left-to-right fashion, which seems ideal for `ArrayRef::drop_front`. WDYT?
I have replaced the in place-merging with a separate merging function, so this should not be relevant anymore.
================
Comment at: lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py:17
+
+ # For the unused parameters, only check the types.
+ self.assertEqual("void *", self.frame().FindVariable("unused1").GetType().GetName())
----------------
labath wrote:
> Maybe we could check something else as well... Do `GetDescription` or `str(value)` return something reasonable here?
Actually, the most important thing is the type here, so this was quite deliberate.
GetDescription returns `(void *) unused1 = <no location, value may have been optimized out>\n\n`, but I am not sure if we can safely require that all future versions/platforms optimize the parameter out.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D110571/new/
https://reviews.llvm.org/D110571
More information about the lldb-commits
mailing list