diff options
-rw-r--r-- | llvm/include/llvm/ADT/ArrayRef.h | 1 | ||||
-rw-r--r-- | llvm/unittests/ADT/ArrayRefTest.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/include/llvm/ADT/ArrayRef.h b/llvm/include/llvm/ADT/ArrayRef.h index 5f7a769ddac..b5795c67dd3 100644 --- a/llvm/include/llvm/ADT/ArrayRef.h +++ b/llvm/include/llvm/ADT/ArrayRef.h @@ -45,6 +45,7 @@ namespace llvm { using const_iterator = const T *; using size_type = size_t; using reverse_iterator = std::reverse_iterator<iterator>; + using value_type = typename std::remove_cv<T>::type; private: /// The start of the array, in an external buffer. diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp index 4694ff112cb..84985183e57 100644 --- a/llvm/unittests/ADT/ArrayRefTest.cpp +++ b/llvm/unittests/ADT/ArrayRefTest.cpp @@ -52,6 +52,14 @@ static_assert( "Assigning from an initializer list"); #endif +// Check Typedefs. +static_assert( + std::is_same<ArrayRef<int>::value_type, int>::value, + "erroneous value_type"); +static_assert( + std::is_same<ArrayRef<const int>::value_type, int>::value, + "erroneous value_type"); + namespace { TEST(ArrayRefTest, AllocatorCopy) { |