[committed] libstdc++: Move definition earlier in file

Message ID 20200327231159.GA489323@redhat.com
State New
Headers show
Series
  • [committed] libstdc++: Move definition earlier in file
Related show

Commit Message

Xionghu Luo via Gcc-patches March 27, 2020, 11:11 p.m.
This moves __is_array_convertible so it's not between
__is_nothrow_convertible and its helper, since it isn't related to
those.

	* include/std/type_traits (__is_array_convertible): Move definition
	to immediately after is_convertible.

Tested powerpc64le-linux, committed to master.
commit 0302a2de7f143bc4ac2a963761abc684b4dd6ddb
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Mar 27 22:53:04 2020 +0000

    libstdc++: Move definition earlier in file
    
    This moves __is_array_convertible so it's not between
    __is_nothrow_convertible and its helper, since it isn't related to
    those.
    
            * include/std/type_traits (__is_array_convertible): Move definition
            to immediately after is_convertible.

Patch

diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 68abf148a38..65b9902b56d 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1436,6 +1436,11 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     : public __is_convertible_helper<_From, _To>::type
     { };
 
+  // helper trait for unique_ptr<T[]>, shared_ptr<T[]>, and span<T, N>
+  template<typename _ToElementType, typename _FromElementType>
+    using __is_array_convertible
+      = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
+
   template<typename _From, typename _To,
            bool = __or_<is_void<_From>, is_function<_To>,
                         is_array<_To>>::value>
@@ -1465,11 +1470,6 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 #pragma GCC diagnostic pop
 
-  // helper trait for unique_ptr<T[]>, shared_ptr<T[]>, and span<T, N>
-  template<typename _ToElementType, typename _FromElementType>
-    using __is_array_convertible
-      = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
-
   // is_nothrow_convertible for C++11
   template<typename _From, typename _To>
     struct __is_nothrow_convertible