[PATCH] D54943: [clang-tidy] implement const-transformation for cppcoreguidelines-const-correctness
Jonas Toth via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 10 08:48:40 PST 2020
JonasToth updated this revision to Diff 237345.
JonasToth added a comment.
- test if references to pointers are ignored if pointers are ignored as values
- add different possible auto constellations
- document the problematic cases for 'auto' deductions
I think a first pass of review might make sense now. I isolated the problematic
'auto' cases and added tests for them in clang-tidy. It turns out, that they
are only bad if they deduce to a reference to a template-type/typedef to a
template type.
In good faith, that this is somehow detectable in code, i think all known
false positives can be addressed.
Even though I hope this to land until the branch point, I don't want to pressure
reviewers or so (i chatted with aaron about it)! If the patch is not good enough
or has any outstanding issues, I will of course address them and land it later. :)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54943/new/
https://reviews.llvm.org/D54943
Files:
clang-tools-extra/CMakeLists.txt
clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
clang-tools-extra/clang-tidy/cppcoreguidelines/ConstCorrectnessCheck.cpp
clang-tools-extra/clang-tidy/cppcoreguidelines/ConstCorrectnessCheck.h
clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-const-correctness.rst
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-const-correctness-cxx17.cpp
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-const-correctness-pointer-as-values.cpp
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-const-correctness-transform-pointer-as-values.cpp
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-const-correctness-transform-values.cpp
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-const-correctness-values.cpp
clang/include/clang/ASTMatchers/ASTMatchers.h
clang/lib/ASTMatchers/Dynamic/Registry.cpp
clang/lib/Analysis/ExprMutationAnalyzer.cpp
clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54943.237345.patch
Type: text/x-patch
Size: 94486 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200110/5e86946f/attachment-0001.bin>
More information about the cfe-commits
mailing list