-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[Clang][NFC] Capture by ref to avoid copying std::string #138231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Clang][NFC] Capture by ref to avoid copying std::string #138231
Conversation
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.
@llvm/pr-subscribers-clang-static-analyzer-1 @llvm/pr-subscribers-clang Author: Shafik Yaghmour (shafik) ChangesStatic analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference. Full diff: https://github.com/llvm/llvm-project/pull/138231.diff 1 Files Affected:
diff --git a/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp b/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
index d0145293fa3e5..1c4f08ae5dff5 100644
--- a/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
+++ b/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
@@ -67,10 +67,10 @@ bool CheckerContext::isCLibraryFunction(const FunctionDecl *FD,
// _xxxxx_
// ^ ^ lookbehind and lookahead characters
- const auto MatchPredecessor = [=]() -> bool {
+ const auto MatchPredecessor = [&]() -> bool {
return start <= 0 || !llvm::isAlpha(BName[start - 1]);
};
- const auto MatchSuccessor = [=]() -> bool {
+ const auto MatchSuccessor = [&]() -> bool {
std::size_t LookbehindPlace = start + Name.size();
return LookbehindPlace >= BName.size() ||
!llvm::isAlpha(BName[LookbehindPlace]);
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, thanks.
I just wonder why is BName an owning string? To me it would make a lot more sense if it was a StringRef owned by the ASTContext.
WDYT?
|
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.
Static analysis flagged capturing BName by value as opposed to by reference. Updated capture to be by reference.