mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 21:55:39 +08:00
[clang-tidy] Fix an abseil-redundant-strcat-calls crash on 0-parameter StrCat().
Differential Revision: https://reviews.llvm.org/D91601
This commit is contained in:
@@ -47,6 +47,8 @@ struct StrCatCheckResult {
|
||||
};
|
||||
|
||||
void RemoveCallLeaveArgs(const CallExpr* Call, StrCatCheckResult* CheckResult) {
|
||||
if (Call->getNumArgs() == 0)
|
||||
return;
|
||||
// Remove 'Foo('
|
||||
CheckResult->Hints.push_back(
|
||||
FixItHint::CreateRemoval(CharSourceRange::getCharRange(
|
||||
|
||||
@@ -121,6 +121,7 @@ struct AlphaNum {
|
||||
AlphaNum &operator=(const AlphaNum &);
|
||||
};
|
||||
|
||||
string StrCat();
|
||||
string StrCat(const AlphaNum &A);
|
||||
string StrCat(const AlphaNum &A, const AlphaNum &B);
|
||||
string StrCat(const AlphaNum &A, const AlphaNum &B, const AlphaNum &C);
|
||||
@@ -182,6 +183,9 @@ void Positives() {
|
||||
StrAppend(&S, StrCat(1, 2, 3, 4, 5), StrCat(6, 7, 8, 9, 10));
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: multiple calls to 'absl::StrCat' can be flattened into a single call
|
||||
// CHECK-FIXES: StrAppend(&S, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
|
||||
|
||||
StrCat(1, StrCat());
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: multiple calls to 'absl::StrCat' can be flattened into a single call
|
||||
}
|
||||
|
||||
void Negatives() {
|
||||
|
||||
Reference in New Issue
Block a user