From: David Wells Date: Tue, 8 Aug 2017 23:02:57 +0000 (-0400) Subject: Remove DEAL_II_BOOST_BIND_COMPILER_BUG. X-Git-Tag: v9.0.0-rc1~1330^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F4738%2Fhead;p=dealii.git Remove DEAL_II_BOOST_BIND_COMPILER_BUG. Reverts 0d2f17a9840 and d92bec4da6d. --- diff --git a/cmake/checks/check_03_compiler_bugs.cmake b/cmake/checks/check_03_compiler_bugs.cmake index 74d2fad690..c07b9aaea0 100644 --- a/cmake/checks/check_03_compiler_bugs.cmake +++ b/cmake/checks/check_03_compiler_bugs.cmake @@ -255,38 +255,6 @@ IF(DEAL_II_TYPE_QUALIFIER_BUG) ENDIF() -# -# On Mac OS X, gcc appears to have a bug that prevents us from -# compiling a bit of code that involves boost::bind. Check for -# that. -# -# - Wolfgang Bangerth, Matthias Maier, rewritten 2012 -# -IF(DEAL_II_HAVE_BUNDLED_DIRECTORY) - CHECK_CXX_COMPILER_BUG( - " - #include - #include - #include \"${BOOST_FOLDER}/include/boost/bind.hpp\" - - template - void bug_function (number test) - { - std::cout << test << std::endl; - } - int main() - { - std::complex float_val (1., 2.); - boost::bind(&bug_function >, - float_val)(); - return 0; - } - " - DEAL_II_BOOST_BIND_COMPILER_BUG - ) -ENDIF() - - # # Microsoft Visual C++ has a bug where the resulting object # from calling std::bind does not have a const operator(), diff --git a/include/deal.II/base/config.h.in b/include/deal.II/base/config.h.in index 733fb6c4aa..0700fe7bfb 100644 --- a/include/deal.II/base/config.h.in +++ b/include/deal.II/base/config.h.in @@ -69,7 +69,6 @@ #cmakedefine DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG #cmakedefine DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG #cmakedefine DEAL_II_CONST_MEMBER_DEDUCTION_BUG -#cmakedefine DEAL_II_BOOST_BIND_COMPILER_BUG #cmakedefine DEAL_II_BIND_NO_CONST_OP_PARENTHESES #cmakedefine DEAL_II_CONSTEXPR_BUG diff --git a/include/deal.II/lac/vector.h b/include/deal.II/lac/vector.h index dbc9164155..41d083234f 100644 --- a/include/deal.II/lac/vector.h +++ b/include/deal.II/lac/vector.h @@ -967,14 +967,6 @@ private: //------------------------ declarations for explicit specializations - -#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG -template <> -Vector > & -Vector >::operator= (const std::complex s); -#endif - - template <> Vector::real_type Vector::lp_norm (const real_type) const; diff --git a/source/lac/vector.cc b/source/lac/vector.cc index 5e04c9ac6a..a1f97a6787 100644 --- a/source/lac/vector.cc +++ b/source/lac/vector.cc @@ -61,20 +61,7 @@ TEMPL_OP_EQ(std::complex,std::complex); #undef TEMPL_OP_EQ -#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG -template <> -Vector > & -Vector >::operator= (const std::complex s) -{ - AssertIsFinite(s); - if (s != std::complex()) - Assert (vec_size!=0, ExcEmptyObject()); - if (vec_size!=0) - std::fill (begin(), end(), s); - return *this; -} -#endif template <> Vector::real_type