From 31b9603accc5a0f2dee12208bd67dee9c2f5d669 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Fri, 15 Jun 2018 18:52:49 +0200 Subject: [PATCH] Fix compiling with older Intel compilers --- include/deal.II/fe/fe_system.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/deal.II/fe/fe_system.h b/include/deal.II/fe/fe_system.h index e6e3fca1a1..68e37c7514 100644 --- a/include/deal.II/fe/fe_system.h +++ b/include/deal.II/fe/fe_system.h @@ -475,7 +475,11 @@ public: * In other words, if no multiplicity for an element is explicitly specified * via the exponentiation operation, then it is assumed to be one (as one * would have expected). + * + * @warning This feature is not available for Intel compilers + * prior to version 19.0 */ +# if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1900 template < class... FEPairs, typename = typename enable_if_all< @@ -493,11 +497,15 @@ public: * FiniteElementType1 fe_2; * FESystem fe_system = { fe_1^dim, fe_2^1 }; * @endcode + * + * @warning This feature is not available for Intel compilers + * prior to version 19.0 */ FESystem( const std::initializer_list< std::pair>, unsigned int>> &fe_systems); +# endif /** * Copy constructor. This constructor is deleted, i.e., copying @@ -1272,6 +1280,7 @@ namespace internal +# if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1900 // We are just forwarding/delegating to the constructor taking a // std::initializer_list. If we decide to remove the deprecated constructors, we // might just use the variadic constructor with a suitable static_assert instead @@ -1316,6 +1325,7 @@ FESystem::FESystem( initialize(fes, multiplicities); } +# endif # endif // DOXYGEN -- 2.39.5