[PATCH] Add some extra checks to the MoveOnly test class to ensure it is not constructed or assigned from in a moved-from state.

David Blaikie dblaikie at gmail.com
Tue Jun 10 13:22:42 PDT 2014


Hi mclow.lists,

Some tests were constructing it with 0, so use -1 as the invalid state
instead.

http://reviews.llvm.org/D4095

Files:
  test/containers/MoveOnly.h

Index: test/containers/MoveOnly.h
===================================================================
--- test/containers/MoveOnly.h
+++ test/containers/MoveOnly.h
@@ -22,11 +22,17 @@
 
     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_;}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4095.10300.patch
Type: text/x-patch
Size: 787 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140610/614f663e/attachment.bin>


More information about the cfe-commits mailing list