mirror of
https://github.com/darlinghq/darling-libcxx.git
synced 2025-01-24 20:55:15 +00:00
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 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215301 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ae39e4f795
commit
5eb396a8e6
@ -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…
x
Reference in New Issue
Block a user