]> https://gitweb.dealii.org/ - dealii.git/commitdiff
mark code snippet as workaround slated for removal 10254/head
authorMatthias Maier <tamiko@43-1.org>
Sat, 16 May 2020 18:15:10 +0000 (13:15 -0500)
committerMatthias Maier <tamiko@43-1.org>
Sat, 16 May 2020 21:31:20 +0000 (16:31 -0500)
include/deal.II/base/symmetric_tensor.h
include/deal.II/base/tensor.h

index ea6599ec13c790908c775b655ae9a20979a957fd..204d8f3c17071effca00a576a760a540ab532862 100644 (file)
@@ -72,6 +72,11 @@ DEAL_II_CONSTEXPR inline DEAL_II_ALWAYS_INLINE Number
 
 namespace internal
 {
+  // Workaround: The following 4 overloads are necessary to be able to
+  // compile the library with Apple Clang 8 and older. We should remove
+  // these overloads again when we bump the minimal required version to
+  // something later than clang-3.6 / Apple Clang 6.3.
+  // - Jean-Paul Pelteret, Matthias Maier, Daniel Arndt 2020
   template <int rank, int dim, typename T, typename U>
   struct ProductTypeImpl<SymmetricTensor<rank, dim, T>, std::complex<U>>
   {
@@ -81,7 +86,6 @@ namespace internal
                       std::complex<typename ProductType<T, U>::type>>;
   };
 
-
   template <int rank, int dim, typename T, typename U>
   struct ProductTypeImpl<SymmetricTensor<rank, dim, std::complex<T>>,
                          std::complex<U>>
@@ -110,6 +114,7 @@ namespace internal
                       dim,
                       std::complex<typename ProductType<T, U>::type>>;
   };
+  // end workaround
 
   /**
    * A namespace for functions and classes that are internal to how the
index 61435d45a00826f80e7fc8d9718510f435809e7e..9580b92999409a467a33755180a47d7a683788de 100644 (file)
@@ -789,6 +789,11 @@ private:
 #ifndef DOXYGEN
 namespace internal
 {
+  // Workaround: The following 4 overloads are necessary to be able to
+  // compile the library with Apple Clang 8 and older. We should remove
+  // these overloads again when we bump the minimal required version to
+  // something later than clang-3.6 / Apple Clang 6.3.
+  // - Jean-Paul Pelteret, Matthias Maier, Daniel Arndt 2020
   template <int rank, int dim, typename T, typename U>
   struct ProductTypeImpl<Tensor<rank, dim, T>, std::complex<U>>
   {
@@ -816,6 +821,7 @@ namespace internal
     using type =
       Tensor<rank, dim, std::complex<typename ProductType<T, U>::type>>;
   };
+  // end workaround
 
   /**
    * The structs below are needed to initialize nested Tensor objects.

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.