)
-#
-# Check for GCC bug 36052, see
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36052
-#
-# - Wolfgang Bangerth, Matthias Maier, rewritten 2012
-#
-
-CHECK_CXX_COMPILER_BUG(
- "
- struct S {
- typedef double value_type;
- };
-
- template <typename T> struct Traits {
- typedef const typename T::value_type dereference_type;
- };
-
- template <class BlockVectorType> struct ConstIterator {
- typedef typename Traits<BlockVectorType>::dereference_type dereference_type;
-
- dereference_type operator * () const { return 0; }
- };
- template class ConstIterator<S>;
- int main(){return 0;}
- "
- DEAL_II_TYPE_QUALIFIER_BUG)
-
-IF(DEAL_II_TYPE_QUALIFIER_BUG)
- ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS -Wno-ignored-qualifiers)
-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 <complex>
- #include <iostream>
- #include \"${BOOST_FOLDER}/include/boost/bind.hpp\"
-
- template<typename number>
- void bug_function (number test)
- {
- std::cout << test << std::endl;
- }
- int main()
- {
- std::complex<float> float_val (1., 2.);
- boost::bind(&bug_function<std::complex<float> >,
- 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(),
#cmakedefine DEAL_II_TEMPL_SPEC_FRIEND_BUG
#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