forked from bartvdbraak/blender
Compilation error fix for NetBSD
Based on the patch from Joerg Sonnenberger.
This commit is contained in:
parent
2d8545f87e
commit
113ff51476
18
extern/carve/lib/triangulator.cpp
vendored
18
extern/carve/lib/triangulator.cpp
vendored
@ -31,9 +31,19 @@
|
|||||||
//
|
//
|
||||||
// TODO(sergey): Move it some some more generic header with platform-specific
|
// TODO(sergey): Move it some some more generic header with platform-specific
|
||||||
// declarations.
|
// declarations.
|
||||||
#ifdef _LIBCPP_VERSION
|
|
||||||
# define __is_heap is_heap
|
// Indicates whether __is_heap is available
|
||||||
#endif
|
#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 {
|
namespace {
|
||||||
// private code related to hole patching.
|
// private code related to hole patching.
|
||||||
@ -129,7 +139,7 @@ namespace {
|
|||||||
std::vector<vertex_info *> queue;
|
std::vector<vertex_info *> queue;
|
||||||
|
|
||||||
void checkheap() {
|
void checkheap() {
|
||||||
#ifdef __GNUC__
|
#if defined(HAVE_IS_HEAP)
|
||||||
CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
|
CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
29
extern/carve/patches/clang_is_heap_fix.patch
vendored
29
extern/carve/patches/clang_is_heap_fix.patch
vendored
@ -1,7 +1,7 @@
|
|||||||
diff -r 2e6e59022e6e lib/triangulator.cpp
|
diff -r 2e6e59022e6e lib/triangulator.cpp
|
||||||
--- a/lib/triangulator.cpp Fri Nov 09 09:35:35 2012 +1100
|
--- a/lib/triangulator.cpp Fri Nov 09 09:35:35 2012 +1100
|
||||||
+++ b/lib/triangulator.cpp Thu Nov 28 13:34:52 2013 +0600
|
+++ b/lib/triangulator.cpp Thu Jan 09 16:13:17 2014 +0600
|
||||||
@@ -27,6 +27,13 @@
|
@@ -27,6 +27,23 @@
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -9,9 +9,28 @@ diff -r 2e6e59022e6e lib/triangulator.cpp
|
|||||||
+//
|
+//
|
||||||
+// TODO(sergey): Move it some some more generic header with platform-specific
|
+// TODO(sergey): Move it some some more generic header with platform-specific
|
||||||
+// declarations.
|
+// declarations.
|
||||||
+#ifdef _LIBCPP_VERSION
|
+
|
||||||
+# define __is_heap is_heap
|
+// Indicates whether __is_heap is available
|
||||||
+#endif
|
+#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 {
|
namespace {
|
||||||
// private code related to hole patching.
|
// 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
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user