From: Daniel Arndt Date: Sat, 16 Jun 2018 21:02:29 +0000 (+0200) Subject: Move preprocessor check and add comments X-Git-Tag: v9.0.1~2^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3a0759272ccc301aef66730462e9ad36256f6b7;p=dealii.git Move preprocessor check and add comments --- diff --git a/include/deal.II/fe/fe_system.h b/include/deal.II/fe/fe_system.h index 2cc5bc2d77..2fe9ea45d4 100644 --- a/include/deal.II/fe/fe_system.h +++ b/include/deal.II/fe/fe_system.h @@ -423,6 +423,7 @@ public: FESystem (const std::vector*> &fes, const std::vector &multiplicities); +#if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1900 /** * Constructor taking an arbitrary number of parameters of type * std::pair>, unsigned int>. @@ -461,10 +462,10 @@ public: * would have expected). * * @warning This feature is not available for Intel compilers - * prior to version 19.0 + * prior to version 19.0. Defining this + * constructor leads to internal compiler errors for Intel compilers prior + * to 18.0. */ - FESystem (FEPairs &&... fe_pairs); -# if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1900 template < class... FEPairs, typename = typename enable_if_all< @@ -484,12 +485,14 @@ public: * @endcode * * @warning This feature is not available for Intel compilers - * prior to version 19.0 + * prior to version 19.0. The constructor is just not selected for overload + * resolution. */ FESystem( const std::initializer_list< std::pair>, unsigned int>> &fe_systems); +#endif /** * Copy constructor. This constructor is deleted, i.e., copying @@ -1216,7 +1219,7 @@ namespace -# if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1900 +#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 @@ -1260,7 +1263,7 @@ FESystem::FESystem initialize(fes, multiplicities); } -# endif +#endif #endif //DOXYGEN