diff options
author | Konrad Kleine <kkleine@redhat.com> | 2020-06-03 16:53:43 -0400 |
---|---|---|
committer | Konrad Kleine <kkleine@redhat.com> | 2020-06-03 16:56:03 -0400 |
commit | e636e6b79ac06b13059e46b49acb4d9de204c75b (patch) | |
tree | cf636be146798e8579ca19259cd5994a5ccd929c /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | 66251f7e1de79a7c1620659b7f58352b8c8e892e (diff) | |
download | llvm-e636e6b79ac06b13059e46b49acb4d9de204c75b.zip llvm-e636e6b79ac06b13059e46b49acb4d9de204c75b.tar.gz llvm-e636e6b79ac06b13059e46b49acb4d9de204c75b.tar.bz2 |
[clang-tidy]: Added modernize-replace-disallow-copy-and-assign-macro
Summary:
This check finds macro expansions of `DISALLOW_COPY_AND_ASSIGN(Type)` and
replaces them with a deleted copy constructor and a deleted assignment operator.
Before the `delete` keyword was introduced in C++11 it was common practice to
declare a copy constructor and an assignment operator as a private members. This
effectively makes them unusable to the public API of a class.
With the advent of the `delete` keyword in C++11 we can abandon the
`private` access of the copy constructor and the assignment operator and
delete the methods entirely.
Migration example:
```
lang=dif
class Foo {
private:
- DISALLOW_COPY_AND_ASSIGN(Foo);
+ Foo(const Foo &) = delete;
+ const Foo &operator=(const Foo &) = delete;
};
```
Reviewers: alexfh, hokein, aaron.ballman, njames93
Reviewed By: njames93
Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D80531
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions