Use something really explicit to test "move semantics" on builds without

r-value references. I still want to test that when we have them,
llvm_move is actually a move.

Have I mentioned that I really want to move to C++11? ;]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194318 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2013-11-09 04:49:27 +00:00
parent ca020d469e
commit 8caea7237a

View File

@ -57,6 +57,10 @@ TEST(polymorphic_ptr_test, Basic) {
EXPECT_EQ(42, p->x);
polymorphic_ptr<S> p2((llvm_move(p)));
#if !LLVM_HAS_RVALUE_REFERENCES
// 'p' may not have been moved from in C++98, fake it for the test.
p2 = p.take();
#endif
EXPECT_FALSE((bool)p);
EXPECT_TRUE(!p);
EXPECT_TRUE((bool)p2);