forked from OSchip/llvm-project
Add some extra checks to the MoveOnly test class to ensure it is not constructed or assigned from in a moved-from state.
Some tests were constructing it with 0, so use -1 as the invalid state instead. Reviewers: Marshall Clow Differential Revision: http://reviews.llvm.org/D4095 llvm-svn: 215301
This commit is contained in:
parent
1abc1a5e14
commit
f63d5fa236
|
@ -22,11 +22,17 @@ class MoveOnly
|
|||
|
||||
int data_;
|
||||
public:
|
||||
MoveOnly(int data = 1) : data_(data) {}
|
||||
MoveOnly(MoveOnly&& x)
|
||||
: data_(x.data_) {x.data_ = 0;}
|
||||
MoveOnly& operator=(MoveOnly&& x)
|
||||
{data_ = x.data_; x.data_ = 0; return *this;}
|
||||
MoveOnly(int data = 0) : data_(data) { assert(data != -1); }
|
||||
MoveOnly(MoveOnly &&x) : data_(x.data_) {
|
||||
assert(x.data_ != -1);
|
||||
x.data_ = -1;
|
||||
}
|
||||
MoveOnly &operator=(MoveOnly &&x) {
|
||||
assert(x.data_ != -1);
|
||||
data_ = x.data_;
|
||||
x.data_ = -1;
|
||||
return *this;
|
||||
}
|
||||
|
||||
int get() const {return data_;}
|
||||
|
||||
|
|
Loading…
Reference in New Issue