diff options
author | Zachary Turner <zturner@google.com> | 2016-10-10 21:36:23 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-10-10 21:36:23 +0000 |
commit | 5f78a9723f7212eb72448b0b608e16f8f388e5a8 (patch) | |
tree | 69d3d33e3080b51c1d5bc8f4ef24fd668998090b /llvm/unittests/ADT/ArrayRefTest.cpp | |
parent | b1bdc47309d6bd99516a0be377a92cbd67522a02 (diff) | |
download | bcm5719-llvm-5f78a9723f7212eb72448b0b608e16f8f388e5a8.tar.gz bcm5719-llvm-5f78a9723f7212eb72448b0b608e16f8f388e5a8.zip |
Revert "Disallow ArrayRef assignment from temporaries."
This reverts commit r283798, as it causes static asserts on
MSVC 2015 with the following errors:
ArrayRefTest.cpp(38): error C2338: Assigning from single prvalue element
ArrayRefTest.cpp(41): error C2338: Assigning from single xvalue element
ArrayRefTest.cpp(47): error C2338: Assigning from an initializer list
llvm-svn: 283803
Diffstat (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/ArrayRefTest.cpp | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp index f046da8a833..43e5005e62d 100644 --- a/llvm/unittests/ADT/ArrayRefTest.cpp +++ b/llvm/unittests/ADT/ArrayRefTest.cpp @@ -31,21 +31,6 @@ static_assert( !std::is_convertible<ArrayRef<volatile int *>, ArrayRef<int *>>::value, "Removing volatile"); -// Check that we can't accidentally assign a temporary location to an ArrayRef. -// (Unfortunately we can't make use of the same thing with constructors.) -static_assert( - !std::is_assignable<ArrayRef<int *>, int *>::value, - "Assigning from single prvalue element"); -static_assert( - !std::is_assignable<ArrayRef<int *>, int * &&>::value, - "Assigning from single xvalue element"); -static_assert( - std::is_assignable<ArrayRef<int *>, int * &>::value, - "Assigning from single lvalue element"); -static_assert( - !std::is_assignable<ArrayRef<int *>, std::initializer_list<int *>>::value, - "Assigning from an initializer list"); - namespace { TEST(ArrayRefTest, AllocatorCopy) { @@ -176,14 +161,6 @@ TEST(ArrayRefTest, InitializerList) { ArgTest12({1, 2}); } -TEST(ArrayRefTest, EmptyInitializerList) { - ArrayRef<int> A = {}; - EXPECT_TRUE(A.empty()); - - A = {}; - EXPECT_TRUE(A.empty()); -} - // Test that makeArrayRef works on ArrayRef (no-op) TEST(ArrayRefTest, makeArrayRef) { static const int A1[] = {1, 2, 3, 4, 5, 6, 7, 8}; |