diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-01-09 14:15:24 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-01-09 14:15:24 +0400 |
commit | 113ff5147675b37082efabb6afd020b51dc531f3 (patch) | |
tree | f88d93a647ae75de253a3032c140677cfa7f15d1 /extern/carve/lib | |
parent | 2d8545f87e554210f2d7446a20742b4cc4701b4e (diff) |
Compilation error fix for NetBSD
Based on the patch from Joerg Sonnenberger.
Diffstat (limited to 'extern/carve/lib')
-rw-r--r-- | extern/carve/lib/triangulator.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/extern/carve/lib/triangulator.cpp b/extern/carve/lib/triangulator.cpp index bd5a30b0c2b..fa829c6a1e6 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 } |