]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove compatibility code for GCC versions prior to 5.x. 11399/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Fri, 18 Dec 2020 22:34:58 +0000 (15:34 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sat, 19 Dec 2020 04:32:36 +0000 (21:32 -0700)
We no longer support these compilers, so we can just remove the code without replacement.

include/deal.II/base/utilities.h

index bd88309c75fd3101270fe6ee3ca1205e7ccf252b..c0046ae2d1399078a36b372d4a0172e19d6f7152 100644 (file)
@@ -1188,18 +1188,10 @@ namespace Utilities
     // see if the object is small and copyable via memcpy. if so, use
     // this fast path. otherwise, we have to go through the BOOST
     // serialization machinery
-    //
-    // we have to work around the fact that GCC 4.8.x claims to be C++
-    // conforming, but is not actually as it does not implement
-    // std::is_trivially_copyable.
-#if __GNUG__ && __GNUC__ < 5
-    if (__has_trivial_copy(T) && sizeof(T) < 256)
-#else
-#  ifdef DEAL_II_HAVE_CXX17
+#ifdef DEAL_II_HAVE_CXX17
     if constexpr (std::is_trivially_copyable<T>() && sizeof(T) < 256)
-#  else
+#else
     if (std::is_trivially_copyable<T>() && sizeof(T) < 256)
-#  endif
 #endif
       {
         const std::size_t previous_size = dest_buffer.size();
@@ -1257,18 +1249,10 @@ namespace Utilities
     // see if the object is small and copyable via memcpy. if so, use
     // this fast path. otherwise, we have to go through the BOOST
     // serialization machinery
-    //
-    // we have to work around the fact that GCC 4.8.x claims to be C++
-    // conforming, but is not actually as it does not implement
-    // std::is_trivially_copyable.
-#if __GNUG__ && __GNUC__ < 5
-    if (__has_trivial_copy(T) && sizeof(T) < 256)
-#else
-#  ifdef DEAL_II_HAVE_CXX17
+#ifdef DEAL_II_HAVE_CXX17
     if constexpr (std::is_trivially_copyable<T>() && sizeof(T) < 256)
-#  else
+#else
     if (std::is_trivially_copyable<T>() && sizeof(T) < 256)
-#  endif
 #endif
       {
         Assert(std::distance(cbegin, cend) == sizeof(T), ExcInternalError());
@@ -1312,17 +1296,7 @@ namespace Utilities
     // see if the object is small and copyable via memcpy. if so, use
     // this fast path. otherwise, we have to go through the BOOST
     // serialization machinery
-    //
-    // we have to work around the fact that GCC 4.8.x claims to be C++
-    // conforming, but is not actually as it does not implement
-    // std::is_trivially_copyable.
-    if (
-#if __GNUG__ && __GNUC__ < 5
-      __has_trivial_copy(T)
-#else
-      std::is_trivially_copyable<T>()
-#endif
-      && sizeof(T) * N < 256)
+    if (std::is_trivially_copyable<T>() && sizeof(T) * N < 256)
       {
         Assert(std::distance(cbegin, cend) == sizeof(T) * N,
                ExcInternalError());

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.