From: Denis Davydov Date: Tue, 26 Feb 2019 17:32:37 +0000 (+0100) Subject: make old compilers happy X-Git-Tag: v9.1.0-rc1~319^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdb24ff2c120c83517b0e458b1d31aec5000d686;p=dealii.git make old compilers happy --- diff --git a/include/deal.II/matrix_free/fe_evaluation.h b/include/deal.II/matrix_free/fe_evaluation.h index ac87eea988..337846d4bd 100644 --- a/include/deal.II/matrix_free/fe_evaluation.h +++ b/include/deal.II/matrix_free/fe_evaluation.h @@ -3423,10 +3423,13 @@ namespace internal // finally here we check if our detector has non-void return type // T::value_type. This will happen if compiler can use second detector, // otherwise SFINAE let it work with the more general first one that is void - static constexpr bool value = + static const bool value = !std::is_same()))>::value; }; + // We need to have a separate declaration for static const members + template + const bool has_local_element::value; // same as above to check // bool T::partitioners_are_compatible(const Utilities::MPI::Partitioner &) @@ -3444,10 +3447,13 @@ namespace internal detect(const U &); public: - static constexpr bool value = + static const bool value = std::is_same()))>::value; }; + // We need to have a separate declaration for static const members + template + const bool has_partitioners_are_compatible::value; // same as above to check @@ -3464,10 +3470,13 @@ namespace internal detect(const U &); public: - static constexpr bool value = + static const bool value = !std::is_same()))>::value; }; + // We need to have a separate declaration for static const members + template + const bool has_begin::value; // type trait for vector T and Number to see if @@ -3478,12 +3487,15 @@ namespace internal template struct is_vectorizable { - static constexpr bool value = + static const bool value = has_begin::value && (has_local_element::value || is_serial_vector::value) && std::is_same::value; }; + // We need to have a separate declaration for static const members + template + const bool is_vectorizable::value; // access to generic const vectors that have operator ().