aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/algorithm
diff options
context:
space:
mode:
authorNicholas-Baron <nicholas.baron.ten@gmail.com>2020-09-14 16:37:41 -0400
committerLouis Dionne <ldionne@apple.com>2020-09-14 16:58:49 -0400
commitb552a30283cea1e9d3f90aef3cdd2ac24c366062 (patch)
tree6684e22550652d47284712f53deab89a786acf4b /libcxx/include/algorithm
parent1ec02efee9b1d01cde89f31ca9ba6a46b7662ac5 (diff)
downloadllvm-b552a30283cea1e9d3f90aef3cdd2ac24c366062.zip
llvm-b552a30283cea1e9d3f90aef3cdd2ac24c366062.tar.gz
llvm-b552a30283cea1e9d3f90aef3cdd2ac24c366062.tar.bz2
[libc++] Finish implementing P0202R3
cppreference lists the support for this paper as partial. I found 4 functions which the paper marks as `constexpr`, but did not use the appropriate macro. Differential Revision: https://reviews.llvm.org/D84275
Diffstat (limited to 'libcxx/include/algorithm')
-rw-r--r--libcxx/include/algorithm7
1 files changed, 4 insertions, 3 deletions
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index 37f2b4d..5d09b6c 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -2529,7 +2529,7 @@ rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __l
// rotate_copy
template <class _ForwardIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
_OutputIterator
rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result)
{
@@ -4394,6 +4394,7 @@ binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
// merge
template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
+_LIBCPP_CONSTEXPR_AFTER_CXX17
_OutputIterator
__merge(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
@@ -4417,7 +4418,7 @@ __merge(_InputIterator1 __first1, _InputIterator1 __last1,
}
template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
_OutputIterator
merge(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
@@ -4427,7 +4428,7 @@ merge(_InputIterator1 __first1, _InputIterator1 __last1,
}
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
_OutputIterator
merge(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)