llvm-project/clang-tools-extra
Tamas Zolnai de7a30cb0a [clang-tidy] new check: bugprone-unhandled-self-assignment
Summary:
This check searches for copy assignment operators which might not handle self-assignment properly. There are three patterns of
handling a self assignment situation: self check, copy-and-swap or the less common copy-and-move. The new check warns if none of
these patterns is found in a user defined implementation.

See also:
OOP54-CPP. Gracefully handle self-copy assignment
https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP54-CPP.+Gracefully+handle+self-copy+assignment

Reviewers: JonasToth, alexfh, hokein, aaron.ballman

Subscribers: riccibruno, Eugene.Zelenko, mgorny, xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D60507

llvm-svn: 360540
2019-05-12 12:23:56 +00:00
..
clang-apply-replacements [clang-tidy] Add fix descriptions to clang-tidy checks. 2019-04-17 12:53:59 +00:00
clang-change-namespace Rename directory housing clang-change-namespace to be eponymous 2019-03-15 11:54:01 +00:00
clang-doc [clang-doc] Build as clang_tool 2019-03-29 16:56:36 +00:00
clang-include-fixer Rename directory housing clang-include-fixer to be eponymous 2019-03-25 14:09:10 +00:00
clang-move Basic: Return a reference from FileManager::getVirtualFileSystem, NFC 2019-03-26 22:32:06 +00:00
clang-query gn build: Add build files for some clang-tools-extra 2019-03-20 16:14:16 +00:00
clang-reorder-fields gn build: Add build files for some clang-tools-extra 2019-03-20 16:14:16 +00:00
clang-tidy [clang-tidy] new check: bugprone-unhandled-self-assignment 2019-05-12 12:23:56 +00:00
clang-tidy-vs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
clangd [clangd] Bump index version and get rid of wrong assertion 2019-05-09 15:07:53 +00:00
docs [clang-tidy] new check: bugprone-unhandled-self-assignment 2019-05-12 12:23:56 +00:00
modularize Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
pp-trace [pp-trace] Use ClangTool in pp-trace, NFC 2019-03-25 12:49:46 +00:00
test [clang-tidy] new check: bugprone-unhandled-self-assignment 2019-05-12 12:23:56 +00:00
tool-template Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
unittests [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check' 2019-05-10 18:27:09 +00:00
.arcconfig [clang-tools-extra] Set up .arcconfig to point to new Diffusion CTE repository 2017-11-27 15:58:25 +00:00
.gitignore
CMakeLists.txt [clangd] add CLANG_ENABLE_CLANGD option to build clangd. Require threads. 2019-05-07 07:05:47 +00:00
CODE_OWNERS.TXT Remove myself as owner of clang-query. 2018-11-15 22:02:10 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
README.txt

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

This repository is only intended to be checked out inside of a full LLVM+Clang
tree, and in the 'tools/extra' subdirectory of the Clang checkout.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang mailing lists:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/