| 1 | // RUN: rm -rf %t |
| 2 | // RUN: mkdir %t |
| 3 | // RUN: cp %S/Inputs/unnecessary-value-param/header.h %t/header.h |
| 4 | // RUN: %check_clang_tidy %s performance-unnecessary-value-param %t/temp -- -- -I %t |
| 5 | // RUN: diff %t/header.h %S/Inputs/unnecessary-value-param/header-fixed.h |
| 6 | |
| 7 | #include "header.h" |
| 8 | |
| 9 | |
| 10 | |
| 11 | int f1(int n, ABC v1, ABC v2) { |
| 12 | // CHECK-MESSAGES: [[@LINE-1]]:19: warning: the parameter 'v1' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param] |
| 13 | // CHECK-MESSAGES: [[@LINE-2]]:27: warning: the parameter 'v2' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param] |
| 14 | // CHECK-FIXES: int f1(int n, const ABC& v1, const ABC& v2) { |
| 15 | return v1.get(n) + v2.get(n); |
| 16 | } |
| 17 | void f2(int n, ABC v2) { |
| 18 | // CHECK-MESSAGES: [[@LINE-1]]:20: warning: the parameter 'v2' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param] |
| 19 | // CHECK-FIXES: void f2(int n, const ABC& v2) { |
| 20 | } |
| 21 | |