From: Timo Heister Date: Tue, 14 Jul 2015 18:37:31 +0000 (-0400) Subject: disable cxx11 on clang with libc++ if buggy X-Git-Tag: v8.3.0-rc1~4^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1140%2Fhead;p=dealii.git disable cxx11 on clang with libc++ if buggy --- diff --git a/cmake/checks/check_01_cxx_features.cmake b/cmake/checks/check_01_cxx_features.cmake index f548550bfc..2c46133e0e 100644 --- a/cmake/checks/check_01_cxx_features.cmake +++ b/cmake/checks/check_01_cxx_features.cmake @@ -181,6 +181,15 @@ IF(NOT DEFINED DEAL_II_WITH_CXX11 OR DEAL_II_WITH_CXX11) " DEAL_II_HAVE_CXX11_FUNCTIONAL_GCCBUG35569_OK) + # clang libc++ bug, see https://llvm.org/bugs/show_bug.cgi?id=20084 + CHECK_CXX_SOURCE_COMPILES( + " + #include + struct A { void foo() const {} }; + int main() { A a; std::bind(&A::foo,a)(); return 0; } + " + DEAL_II_HAVE_CXX11_FUNCTIONAL_LLVMBUG20084_OK) + CHECK_CXX_SOURCE_COMPILES( " #include @@ -312,6 +321,7 @@ IF(NOT DEFINED DEAL_II_WITH_CXX11 OR DEAL_II_WITH_CXX11) DEAL_II_HAVE_CXX11_CONDITION_VARIABLE AND DEAL_II_HAVE_CXX11_FUNCTIONAL AND DEAL_II_HAVE_CXX11_FUNCTIONAL_GCCBUG35569_OK AND + DEAL_II_HAVE_CXX11_FUNCTIONAL_LLVMBUG20084_OK AND DEAL_II_HAVE_CXX11_SHARED_PTR AND DEAL_II_HAVE_CXX11_THREAD AND DEAL_II_HAVE_CXX11_MUTEX AND