Implement LWG#2778: basic_string_view is missing constexpr.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292823 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/string_view b/include/string_view
index 20a4e06..8be6132 100644
--- a/include/string_view
+++ b/include/string_view
@@ -206,7 +206,7 @@
 	_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
 	basic_string_view(const basic_string_view&) _NOEXCEPT = default;
 
-	_LIBCPP_INLINE_VISIBILITY
+	_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
 	basic_string_view& operator=(const basic_string_view&) _NOEXCEPT = default;
 
 	_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
@@ -235,16 +235,16 @@
 	_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
 	const_iterator cend()   const _NOEXCEPT { return __data + __size; }
 
-	_LIBCPP_INLINE_VISIBILITY
+	_LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
 	const_reverse_iterator rbegin()   const _NOEXCEPT { return const_reverse_iterator(cend()); }
 
-	_LIBCPP_INLINE_VISIBILITY
+	_LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
 	const_reverse_iterator rend()     const _NOEXCEPT { return const_reverse_iterator(cbegin()); }
 
-	_LIBCPP_INLINE_VISIBILITY
+	_LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
 	const_reverse_iterator crbegin()  const _NOEXCEPT { return const_reverse_iterator(cend()); }
 
-	_LIBCPP_INLINE_VISIBILITY
+	_LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
 	const_reverse_iterator crend()    const _NOEXCEPT { return const_reverse_iterator(cbegin()); }
 
 	// [string.view.capacity], capacity