bulbazord added a comment. I feel a little strange about having `SBTarget::SetLabel` give a label to a target that is anything other than what the user specified. In the test, you attempt to name 2 targets `cat`. The first one succeeds, the second one also succeeds but names it `cat 2` (where 2 is the index of the target). I think we should probably give some kind of error instead of doing that.
================ Comment at: lldb/source/API/SBTarget.cpp:1614-1620 +const char *SBTarget::SetLabel(const char *label) { + LLDB_INSTRUMENT_VA(this, label); + + llvm::StringRef label_ref(label); + size_t label_is_integral = LLDB_INVALID_INDEX32; + if (!label_ref.empty() && llvm::to_integer(label_ref, label_is_integral)) + return nullptr; ---------------- What if this method returned an SBError that communicated the issue? Specifically, something like `target labels cannot be integral values` or something? I see you doing that below in the lldb_private code. ================ Comment at: lldb/source/Target/Target.cpp:2546 + if (target_sp && target_sp->GetLabel() == label) { + formatted_label << " " << targets.GetIndexOfTarget(shared_from_this()); + break; ---------------- nit: I know I'm arguing against this implementation, but in case this does go in with this implementation, you can probably just use `i` instead of getting the index of the target again. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151859/new/ https://reviews.llvm.org/D151859 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits