From 1834a310d060d55748ca38d4ae0482864c2047d8 Mon Sep 17 00:00:00 2001 From: Nathan James Date: Tue, 8 Nov 2022 12:22:50 +0000 Subject: [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 --- llvm/unittests/ADT/ArrayRefTest.cpp | 41 +++++++++++++++---------------------- 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp') 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>::value, - "Adding const"); -static_assert( - std::is_convertible, ArrayRef>::value, - "Adding volatile"); -static_assert(!std::is_convertible, ArrayRef>::value, +static_assert(std::is_convertible_v, ArrayRef>, + "Adding const"); +static_assert(std::is_convertible_v, ArrayRef>, + "Adding volatile"); +static_assert(!std::is_convertible_v, ArrayRef>, "Changing pointer of one type to a pointer of another"); -static_assert( - !std::is_convertible, ArrayRef>::value, - "Removing const"); -static_assert( - !std::is_convertible, ArrayRef>::value, - "Removing volatile"); +static_assert(!std::is_convertible_v, ArrayRef>, + "Removing const"); +static_assert(!std::is_convertible_v, ArrayRef>, + "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 &, int *>, + "Assigning from single prvalue element"); +static_assert(!std::is_assignable_v &, int *&&>, + "Assigning from single xvalue element"); +static_assert(std::is_assignable_v &, int *&>, + "Assigning from single lvalue element"); static_assert( - !std::is_assignable&, int *>::value, - "Assigning from single prvalue element"); -static_assert( - !std::is_assignable&, int * &&>::value, - "Assigning from single xvalue element"); -static_assert( - std::is_assignable&, int * &>::value, - "Assigning from single lvalue element"); -static_assert( - !std::is_assignable&, std::initializer_list>::value, + !std::is_assignable_v &, std::initializer_list>, "Assigning from an initializer list"); namespace { @@ -261,7 +254,7 @@ TEST(ArrayRefTest, makeArrayRefFromStdArray) { } } -static_assert(std::is_trivially_copyable>::value, +static_assert(std::is_trivially_copyable_v>, "trivially copyable"); TEST(ArrayRefTest, makeMutableArrayRef) { -- cgit v1.1