The __iter_swap class template and explicit specialization are only
declared (and used) for C++03 so _GLIBCXX20_CONSTEXPR does nothing here.
* include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove
redundant _GLIBCXX20_CONSTEXPR.
+2020-02-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove
+ redundant _GLIBCXX20_CONSTEXPR.
+
2020-02-05 Jonathan Wakely <jwakely@redhat.com>
* include/bits/iterator_concepts.h (iter_reference_t)
struct __iter_swap
{
template<typename _ForwardIterator1, typename _ForwardIterator2>
- _GLIBCXX20_CONSTEXPR
static void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
{
struct __iter_swap<true>
{
template<typename _ForwardIterator1, typename _ForwardIterator2>
- _GLIBCXX20_CONSTEXPR
static void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
{
swap(*__a, *__b);
}
};
-#endif
+#endif // C++03
/**
* @brief Swaps the contents of two iterators.
&& __are_same<_ValueType2&, _ReferenceType2>::__value>::
iter_swap(__a, __b);
#else
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 187. iter_swap underspecified
swap(*__a, *__b);
#endif
}