Apply clang-tidy to our code base #2511
Merged
+464
−442
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was done using Clang Power Tools with Clang 9.0.0. I enabled the following categories of checks:
bugprone-*
google-*
modernize-*
readability-*
Of these, I disabled some checks that we don't want (e.g., non-const reference) or that are overly buggy (e.g., branch clones). There remain a number of false positives or true positives that we don't want to fix, but they are relatively few (26).
Note that for pass-by-copy-and-move, the tool apparently only flags the occurrences where it thinks that it will be beneficial (i.e., there is an rvalue passed as an actual). This leads to oddities where some parameters are now passed by copy and some by reference, but it's not really feasible to change all the const references en masse without tooling similar to ClangMR.