From 481288adcb37b9a2b79af42408ab3d2a7784e6c0 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Sat, 16 May 2020 13:15:10 -0500 Subject: [PATCH] mark code snippet as workaround slated for removal --- include/deal.II/base/symmetric_tensor.h | 7 ++++++- include/deal.II/base/tensor.h | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/deal.II/base/symmetric_tensor.h b/include/deal.II/base/symmetric_tensor.h index ea6599ec13..204d8f3c17 100644 --- a/include/deal.II/base/symmetric_tensor.h +++ b/include/deal.II/base/symmetric_tensor.h @@ -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 struct ProductTypeImpl, std::complex> { @@ -81,7 +86,6 @@ namespace internal std::complex::type>>; }; - template struct ProductTypeImpl>, std::complex> @@ -110,6 +114,7 @@ namespace internal dim, std::complex::type>>; }; + // end workaround /** * A namespace for functions and classes that are internal to how the diff --git a/include/deal.II/base/tensor.h b/include/deal.II/base/tensor.h index 61435d45a0..9580b92999 100644 --- a/include/deal.II/base/tensor.h +++ b/include/deal.II/base/tensor.h @@ -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 struct ProductTypeImpl, std::complex> { @@ -816,6 +821,7 @@ namespace internal using type = Tensor::type>>; }; + // end workaround /** * The structs below are needed to initialize nested Tensor objects. -- 2.39.5