| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This yields better recall as ExprMutationAnalyzer is more accurate.
One common pattern this check is now able to catch is:
```
void foo(std::vector<X> v) {
for (const auto& elm : v) {
// ...
}
}
```
Reviewers: george.karpenkov
Subscribers: a.sidorin, cfe-commits
Differential Revision: https://reviews.llvm.org/D50102
llvm-svn: 338903
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Do not issue fixit in UnnecessaryValueParamCheck if the function is an explicit template specialization as this could cause build breakages.
Reviewers: alexfh
Subscribers: JDevlieghere, xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D35718
llvm-svn: 309067
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The performance-unnecessary-value-param check mangled inherited
constructors, as the constructors' parameters do not have useful source
locations. Fix this by ignoring implicit functions.
Fixes PR31684.
Reviewers: flx, alexfh, aaron.ballman
Subscribers: madsravn, JDevlieghere, cfe-commits
Differential Revision: https://reviews.llvm.org/D29018
llvm-svn: 292786
|
|
|
|
|
|
|
|
|
|
|
|
| |
performance-unnecessary-value-param check
Reviewers: alexfh, sbenza, malcolm.parsons
Subscribers: JDevlieghere, cfe-commits
Differential Revision: https://reviews.llvm.org/D28899
llvm-svn: 292491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
modernize-pass-by-value doesn't warn about value parameters that
cannot be moved, so performance-unnecessary-value-param should.
Reviewers: aaron.ballman, flx, alexfh
Subscribers: JDevlieghere, cfe-commits
Differential Revision: https://reviews.llvm.org/D28022
llvm-svn: 290883
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This fixes a bug where the performance-unnecessary-value-param check suggests a fix to move the parameter inside of a loop which could be invoked multiple times.
Reviewers: sbenza, aaron.ballman, alexfh
Subscribers: JDevlieghere, cfe-commits
Differential Revision: https://reviews.llvm.org/D27187
llvm-svn: 289912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as final
Summary: Virtual method overrides of dependent types cannot be recognized unless
they are marked as override or final.
Exclude methods marked as final from check and add test.
Reviewers: sbenza, hokein, alexfh
Subscribers: malcolm.parsons, JDevlieghere, cfe-commits
Differential Revision: https://reviews.llvm.org/D27248
llvm-svn: 288502
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
callExpr
Summary: Suppress fixes for functions that are referenced within the
compilation unit outside of a call expression as the signature change
could break the code referencing the function.
We still issue a warning in this case so that users can decide to
manually change the function signature.
Reviewers: alexfh, sbenza, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26203
llvm-svn: 286424
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Move in complete type test which does not compile into its own test file.
Reviewers: alexfh, sbenza, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26369
llvm-svn: 286155
|
|
|
|
|
|
|
|
|
|
|
|
| |
current parameter is not already const qualified
Reviewers: alexfh, sbenza, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26207
llvm-svn: 286010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expensive to copy
Summary: IsExpensiveToCopy can return false positives for incomplete types, so ignore them.
All existing ClangTidy tests that depend on this function still pass as the types are complete.
Reviewers: alexfh, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26195
llvm-svn: 286008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
As changing virtual methods could break method overrides disable applying the fix and just warn.
Reviewers: alexfh, sbenza
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21936
llvm-svn: 274552
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
value parameter can be moved.
Summary:
Make check more useful in the following two cases:
The parameter is passed by non-const value, has a non-deleted move constructor and is only referenced once in the function as argument to the type's copy constructor.
The parameter is passed by non-const value, has a non-deleted move assignment operator and is only referenced once in the function as argument of the the type's copy assignment operator.
In this case suggest a fix to move the parameter which avoids the unnecessary copy and is closest to what the user might have intended.
Reviewers: alexfh, sbenza
Subscribers: cfe-commits, Prazek
Differential Revision: http://reviews.llvm.org/D20277
llvm-svn: 274380
|
|
|
|
|
|
|
|
|
|
|
|
| |
deleted copy constructor.
Reviewers: alexfh, sbenza
Subscribers: etienneb, aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D20170
llvm-svn: 269581
|
|
to copy types that can be safely converted to const references.
Reviewers: alexfh
Subscribers: fowles, cfe-commits
Differential Revision: http://reviews.llvm.org/D17491
llvm-svn: 264694
|