]> https://gitweb.dealii.org/ - dealii.git/commitdiff
disable cxx11 on clang with libc++ if buggy 1140/head
authorTimo Heister <timo.heister@gmail.com>
Tue, 14 Jul 2015 18:37:31 +0000 (14:37 -0400)
committerTimo Heister <timo.heister@gmail.com>
Wed, 15 Jul 2015 14:39:23 +0000 (10:39 -0400)
cmake/checks/check_01_cxx_features.cmake

index f548550bfcdcfa2a0595110087c2e3c28e78c203..2c46133e0eb8563cea064b941fe1b15130d14231 100644 (file)
@@ -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 <functional>
+      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 <memory>
@@ -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

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.