[Bf-blender-cvs] [113ff51] master: Compilation error fix for NetBSD

Sergey Sharybin noreply at git.blender.org
Thu Jan 9 11:16:37 CET 2014


Commit: 113ff5147675b37082efabb6afd020b51dc531f3
Author: Sergey Sharybin
Date:   Thu Jan 9 16:15:24 2014 +0600
https://developer.blender.org/rB113ff5147675b37082efabb6afd020b51dc531f3

Compilation error fix for NetBSD

Based on the patch from Joerg Sonnenberger.

===================================================================

M	extern/carve/lib/triangulator.cpp
M	extern/carve/patches/clang_is_heap_fix.patch

===================================================================

diff --git a/extern/carve/lib/triangulator.cpp b/extern/carve/lib/triangulator.cpp
index bd5a30b..fa829c6 100644
--- a/extern/carve/lib/triangulator.cpp
+++ b/extern/carve/lib/triangulator.cpp
@@ -31,9 +31,19 @@
 //
 // TODO(sergey): Move it some some more generic header with platform-specific
 //               declarations.
-#ifdef _LIBCPP_VERSION
-#  define __is_heap is_heap
-#endif
+
+// Indicates whether __is_heap is available
+#undef HAVE_IS_HEAP
+
+#ifdef __GNUC__
+// NeyBSD doesn't have __is_heap
+#  ifndef __NetBSD__
+#    define HAVE_IS_HEAP
+#    ifdef _LIBCPP_VERSION
+#      define __is_heap is_heap
+#    endif  // _LIBCPP_VERSION
+#  endif  // !__NetBSD__
+#endif  // __GNUC__
 
 namespace {
   // private code related to hole patching.
@@ -129,7 +139,7 @@ namespace {
     std::vector<vertex_info *> queue;
 
     void checkheap() {
-#ifdef __GNUC__
+#if defined(HAVE_IS_HEAP)
       CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
 #endif
     }
diff --git a/extern/carve/patches/clang_is_heap_fix.patch b/extern/carve/patches/clang_is_heap_fix.patch
index 435e408..a00710b 100644
--- a/extern/carve/patches/clang_is_heap_fix.patch
+++ b/extern/carve/patches/clang_is_heap_fix.patch
@@ -1,7 +1,7 @@
 diff -r 2e6e59022e6e lib/triangulator.cpp
 --- a/lib/triangulator.cpp	Fri Nov 09 09:35:35 2012 +1100
-+++ b/lib/triangulator.cpp	Thu Nov 28 13:34:52 2013 +0600
-@@ -27,6 +27,13 @@
++++ b/lib/triangulator.cpp	Thu Jan 09 16:13:17 2014 +0600
+@@ -27,6 +27,23 @@
  
  #include <algorithm>
  
@@ -9,9 +9,28 @@ diff -r 2e6e59022e6e lib/triangulator.cpp
 +//
 +// TODO(sergey): Move it some some more generic header with platform-specific
 +//               declarations.
-+#ifdef _LIBCPP_VERSION
-+#  define __is_heap is_heap
-+#endif
++
++// Indicates whether __is_heap is available
++#undef HAVE_IS_HEAP
++
++#ifdef __GNUC__
++// NeyBSD doesn't have __is_heap
++#  ifndef __NetBSD__
++#    define HAVE_IS_HEAP
++#    ifdef _LIBCPP_VERSION
++#      define __is_heap is_heap
++#    endif  // _LIBCPP_VERSION
++#  endif  // !__NetBSD__
++#endif  // __GNUC__
  
  namespace {
    // private code related to hole patching.
+@@ -122,7 +139,7 @@
+     std::vector<vertex_info *> queue;
+ 
+     void checkheap() {
+-#ifdef __GNUC__
++#if defined(HAVE_IS_HEAP)
+       CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
+ #endif
+     }




More information about the Bf-blender-cvs mailing list