Relocate std::endian from <type_traits> to <bit>
authorJonathan Wakely <jwakely@redhat.com>
Thu, 25 Jul 2019 20:30:25 +0000 (21:30 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 25 Jul 2019 20:30:25 +0000 (21:30 +0100)
This change to an early C++2a feature was just approved (P1612R1).

* include/std/bit (endian): Move definition here as per P1612R1.
* include/std/type_traits (endian): Remove definition from here.
* testsuite/20_util/endian/1.cc: Rename to ...
* testsuite/26_numerics/endian/1.cc: ... here. Adjust header.

From-SVN: r273816

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/bit
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/26_numerics/endian/1.cc [moved from libstdc++-v3/testsuite/20_util/endian/1.cc with 98% similarity]

index a92e7a7..21f352a 100644 (file)
@@ -1,3 +1,10 @@
+2019-07-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/bit (endian): Move definition here as per P1612R1.
+       * include/std/type_traits (endian): Remove definition from here.
+       * testsuite/20_util/endian/1.cc: Rename to ...
+       * testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
+
 2019-07-25  Martin Liska  <mliska@suse.cz>
            Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
 
index f17d2f1..d57433c 100644 (file)
@@ -315,6 +315,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     log2p1(_Tp __x) noexcept
     { return std::__log2p1(__x); }
 
+  /// Byte order
+  enum class endian
+  {
+    little = __ORDER_LITTLE_ENDIAN__,
+    big    = __ORDER_BIG_ENDIAN__,
+    native = __BYTE_ORDER__
+  };
 #endif // C++2a
 
 _GLIBCXX_END_NAMESPACE_VERSION
index d8ed1ce..9428dad 100644 (file)
@@ -3226,14 +3226,6 @@ template <typename _From, typename _To>
 #endif // C++17
 
 #if __cplusplus > 201703L
-  /// Byte order
-  enum class endian
-  {
-    little = __ORDER_LITTLE_ENDIAN__,
-    big    = __ORDER_BIG_ENDIAN__,
-    native = __BYTE_ORDER__
-  };
-
   /// Remove references and cv-qualifiers.
   template<typename _Tp>
     struct remove_cvref
similarity index 98%
rename from libstdc++-v3/testsuite/20_util/endian/1.cc
rename to libstdc++-v3/testsuite/26_numerics/endian/1.cc
index 4faaba8..896a14c 100644 (file)
@@ -18,7 +18,7 @@
 // { dg-options "-std=gnu++2a" }
 // { dg-do compile { target c++2a } }
 
-#include <type_traits>
+#include <bit>
 
 static_assert( std::is_enum_v<std::endian> );
 static_assert( std::endian::little != std::endian::big );