diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2017-11-27 22:59:33 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2017-11-27 22:59:33 +0000 |
| commit | c566139632f4221b363931642eb637e0757a78d7 (patch) | |
| tree | 700d0d74f4d9c82a7004cd7a2f51eecc14414fb0 /clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h | |
| parent | 256cc48df62c8dc394ee71ebec85b8b10eb1cddf (diff) | |
| download | bcm5719-llvm-c566139632f4221b363931642eb637e0757a78d7.tar.gz bcm5719-llvm-c566139632f4221b363931642eb637e0757a78d7.zip | |
Add an option to misc-move-const-arg to not diagnose on trivially copyable types.
Patch by Oleg Smolsky
llvm-svn: 319111
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h')
| -rw-r--r-- | clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h b/clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h index 27aa06f9f2d..85764720652 100644 --- a/clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h +++ b/clang-tools-extra/clang-tidy/misc/MoveConstantArgumentCheck.h @@ -16,12 +16,24 @@ namespace clang { namespace tidy { namespace misc { +/// Find casts of calculation results to bigger type. Typically from int to +/// +/// There is one option: +/// +/// - `CheckTriviallyCopyableMove`: Whether to check for trivially-copyable +// types as their objects are not moved but copied. Enabled by default. class MoveConstantArgumentCheck : public ClangTidyCheck { public: MoveConstantArgumentCheck(StringRef Name, ClangTidyContext *Context) - : ClangTidyCheck(Name, Context) {} + : ClangTidyCheck(Name, Context), + CheckTriviallyCopyableMove( + Options.get("CheckTriviallyCopyableMove", true)) {} + void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; + +private: + const bool CheckTriviallyCopyableMove; }; } // namespace misc |

