aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/ArrayRefTest.cpp
diff options
context:
space:
mode:
authorNathan James <n.james93@hotmail.co.uk>2022-11-08 12:22:50 +0000
committerNathan James <n.james93@hotmail.co.uk>2022-11-08 12:22:52 +0000
commit1834a310d060d55748ca38d4ae0482864c2047d8 (patch)
tree79ab63f0548b07d61a75dd909731ca7a6ecc17b1 /llvm/unittests/ADT/ArrayRefTest.cpp
parent94738a5ac34283bb034b022602b9f9e93d67081f (diff)
downloadllvm-1834a310d060d55748ca38d4ae0482864c2047d8.zip
llvm-1834a310d060d55748ca38d4ae0482864c2047d8.tar.gz
llvm-1834a310d060d55748ca38d4ae0482864c2047d8.tar.bz2
[llvm][NFC] Use c++17 style variable type traits
This was done as a test for D137302 and it makes sense to push these changes Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D137493
Diffstat (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp')
-rw-r--r--llvm/unittests/ADT/ArrayRefTest.cpp41
1 files changed, 17 insertions, 24 deletions
diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp
index eded12d..9fcddc8 100644
--- a/llvm/unittests/ADT/ArrayRefTest.cpp
+++ b/llvm/unittests/ADT/ArrayRefTest.cpp
@@ -16,34 +16,27 @@ using namespace llvm;
// Check that the ArrayRef-of-pointer converting constructor only allows adding
// cv qualifiers (not removing them, or otherwise changing the type)
-static_assert(
- std::is_convertible<ArrayRef<int *>, ArrayRef<const int *>>::value,
- "Adding const");
-static_assert(
- std::is_convertible<ArrayRef<int *>, ArrayRef<volatile int *>>::value,
- "Adding volatile");
-static_assert(!std::is_convertible<ArrayRef<int *>, ArrayRef<float *>>::value,
+static_assert(std::is_convertible_v<ArrayRef<int *>, ArrayRef<const int *>>,
+ "Adding const");
+static_assert(std::is_convertible_v<ArrayRef<int *>, ArrayRef<volatile int *>>,
+ "Adding volatile");
+static_assert(!std::is_convertible_v<ArrayRef<int *>, ArrayRef<float *>>,
"Changing pointer of one type to a pointer of another");
-static_assert(
- !std::is_convertible<ArrayRef<const int *>, ArrayRef<int *>>::value,
- "Removing const");
-static_assert(
- !std::is_convertible<ArrayRef<volatile int *>, ArrayRef<int *>>::value,
- "Removing volatile");
+static_assert(!std::is_convertible_v<ArrayRef<const int *>, ArrayRef<int *>>,
+ "Removing const");
+static_assert(!std::is_convertible_v<ArrayRef<volatile int *>, ArrayRef<int *>>,
+ "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_v<ArrayRef<int *> &, int *>,
+ "Assigning from single prvalue element");
+static_assert(!std::is_assignable_v<ArrayRef<int *> &, int *&&>,
+ "Assigning from single xvalue element");
+static_assert(std::is_assignable_v<ArrayRef<int *> &, int *&>,
+ "Assigning from single lvalue element");
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,
+ !std::is_assignable_v<ArrayRef<int *> &, std::initializer_list<int *>>,
"Assigning from an initializer list");
namespace {
@@ -261,7 +254,7 @@ TEST(ArrayRefTest, makeArrayRefFromStdArray) {
}
}
-static_assert(std::is_trivially_copyable<ArrayRef<int>>::value,
+static_assert(std::is_trivially_copyable_v<ArrayRef<int>>,
"trivially copyable");
TEST(ArrayRefTest, makeMutableArrayRef) {