aaron.ballman added inline comments.

================
Comment at: test/clang-tidy/performance-unnecessary-value-param.cpp:242
+// Case where parameter in declaration is already const-qualified but not in
+// implementation. Make sure a second 'const' is not added to the declaration.
+void PositiveConstDeclaration(const ExpensiveToCopyType A);
----------------
This comment doesn't really match the test cases. The original code has two 
*different* declarations (only one of which is a definition), not one 
declaration and one redeclaration with the definition.

I think what is really happening is that it is adding the `&` qualifier to the 
first declaration, and adding the `const` and `&` qualifiers to the second 
declaration, and the result is that you get harmonization. But it brings up a 
question to me; what happens with:
```
void f1(ExpensiveToCopyType A) {
}

void f1(const ExpensiveToCopyType A) {

}
```
Does the fix-it try to create two definitions of the same function?


================
Comment at: test/clang-tidy/performance-unnecessary-value-param.cpp:244
+void PositiveConstDeclaration(const ExpensiveToCopyType A);
+// CHECK-FIXES: void PositiveConstDeclaration(const ExpensiveToCopyType& A);
+void PositiveConstDeclaration(ExpensiveToCopyType A) {
----------------
Is the `CHECK-MESSAGES` missing?


Repository:
  rL LLVM

https://reviews.llvm.org/D26207



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to