[clang-tools-extra] [clang-tidy] suggest fix it hints for string concat (PR #188430)
Zeyi Xu via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 25 06:00:11 PDT 2026
================
@@ -14,18 +14,28 @@ int main() {
f(mystr1 + mystr2 + mystr1);
// CHECK-MESSAGES: :[[@LINE-1]]:23: warning: string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead
mystr1 = mystr1 + mystr2;
- // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: string concatenation
+ // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: string concatenation
+ // CHECK-FIXES: mystr1 += mystr2;
mystr1 = mystr2 + mystr2 + mystr2;
- // CHECK-MESSAGES: :[[@LINE-1]]:30: warning: string concatenation
+ // CHECK-MESSAGES: :[[@LINE-1]]:30: warning: string concatenation
mystr1 = mystr2 + mystr1;
- // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: string concatenation
+ // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: string concatenation
+ // CHECK-FIXES: mystr1 += mystr2;
mywstr1 = mywstr2 + mywstr1;
- // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: string concatenation
+ // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: string concatenation
+ // CHECK-FIXES: mywstr1 += mywstr2;
mywstr1 = mywstr2 + mywstr2 + mywstr2;
// CHECK-MESSAGES: :[[@LINE-1]]:33: warning: string concatenation
myautostr1 = myautostr1 + myautostr2;
- // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: string concatenation
-
+ // CHECK-MESSAGES: :[[@LINE-1]]:16: warning: string concatenation
+ // CHECK-FIXES: myautostr1 += myautostr2;
+
+ // Match against multple lines
+ /* mystr1 = mystr1 + mystr2 + mystr2;
+ // CHECK-DAG: :33:12: warning: string concatenation
----------------
zeyi2 wrote:
Would you please use `:[[@LINE-n]]:` format instead of hardcoding the number?
https://github.com/llvm/llvm-project/pull/188430
More information about the cfe-commits
mailing list