[Lldb-commits] [PATCH] D154890: [lldb][NFCI] Avoid construction of temporary std::strings in Variable
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 10 13:42:27 PDT 2023
bulbazord created this revision.
bulbazord added reviewers: JDevlieghere, mib, jingham, fdeazeve.
Herald added a project: All.
bulbazord requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
A common thing to do is to call `str().c_str()` to get a null-terminated
string out of an existing StringRef. Most of the time this is to be able
to use a printf-style format string. However, llvm::formatv can handle
StringRefs without the need for the additional allocation. Using that
makes more sense.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D154890
Files:
lldb/source/Symbol/Variable.cpp
Index: lldb/source/Symbol/Variable.cpp
===================================================================
--- lldb/source/Symbol/Variable.cpp
+++ lldb/source/Symbol/Variable.cpp
@@ -380,9 +380,8 @@
llvm::SmallVector<llvm::StringRef, 2> matches;
variable_list.Clear();
if (!g_regex.Execute(variable_expr_path, &matches)) {
- error.SetErrorStringWithFormat(
- "unable to extract a variable name from '%s'",
- variable_expr_path.str().c_str());
+ error.SetErrorStringWithFormatv(
+ "unable to extract a variable name from '{0}'", variable_expr_path);
return error;
}
std::string variable_name = matches[1].str();
@@ -411,10 +410,9 @@
valobj_sp = variable_valobj_sp->GetValueForExpressionPath(
variable_sub_expr_path);
if (!valobj_sp) {
- error.SetErrorStringWithFormat(
- "invalid expression path '%s' for variable '%s'",
- variable_sub_expr_path.str().c_str(),
- var_sp->GetName().GetCString());
+ error.SetErrorStringWithFormatv(
+ "invalid expression path '{0}' for variable '{1}'",
+ variable_sub_expr_path, var_sp->GetName().GetCString());
variable_list.RemoveVariableAtIndex(i);
continue;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154890.538811.patch
Type: text/x-patch
Size: 1309 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230710/2ee2c6cc/attachment-0001.bin>
More information about the lldb-commits
mailing list