libstdc++: Remove redundant macro that is always empty
authorJonathan Wakely <jwakely@redhat.com>
Thu, 6 Feb 2020 10:45:38 +0000 (10:45 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 6 Feb 2020 10:48:17 +0000 (10:48 +0000)
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.

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algobase.h

index 76a6e2b..50c4dd9 100644 (file)
@@ -1,3 +1,8 @@
+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)
index dc922a0..efda15f 100644 (file)
@@ -139,7 +139,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     struct __iter_swap
     {
       template<typename _ForwardIterator1, typename _ForwardIterator2>
-       _GLIBCXX20_CONSTEXPR
        static void
        iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
        {
@@ -155,14 +154,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     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.
@@ -205,6 +203,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        && __are_same<_ValueType2&, _ReferenceType2>::__value>::
        iter_swap(__a, __b);
 #else
+      // _GLIBCXX_RESOLVE_LIB_DEFECTS
+      // 187. iter_swap underspecified
       swap(*__a, *__b);
 #endif
     }