diff options
-rw-r--r-- | devel/qbs/files/patch-git_5c1183a | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/devel/qbs/files/patch-git_5c1183a b/devel/qbs/files/patch-git_5c1183a new file mode 100644 index 000000000000..6860cfc8b347 --- /dev/null +++ b/devel/qbs/files/patch-git_5c1183a @@ -0,0 +1,36 @@ +This fixes a build failure with libc++ 3.9.0 (FreeBSD 12+): + +In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-1.6.1/src/lib/corelib/api/internaljobs.cpp:39: +In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-1.6.1/src/lib/corelib/buildgraph/executor.h:45: +/usr/include/c++/v1/queue:400:5: error: static_assert failed "" + static_assert((is_same<_Tp, value_type>::value), "" ); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/wrkdirs/usr/ports/devel/qbs/work/qbs-src-1.6.1/src/lib/corelib/buildgraph/executor.h:156:12: note: in instantiation of template class 'std::__1::priority_queue<qbs::Internal::Artifact *, std::__1::vector<qbs::Internal::BuildGraphNode *, std::__1::allocator<qbs::Internal::BuildGraphNode *> >, qbs::Internal::Executor::ComparePriority>' requested here + Leaves m_leaves; + +commit 5c1183aa377ae8de487d5541360369ebd2ee0f6b +Author: Christian Kandeler <christian.kandeler@qt.io> +Date: Mon Nov 28 14:54:43 2016 +0100 + + Executor: Fix undefined behavior + + C++17 introduces new requirements on the template parameters of + std::priority_queue. + + Task-number: QBS-1051 + Change-Id: I9a22b8f2d3c1f0bd532b0a76f5d2a16bebc303f7 + Reviewed-by: Raphael Kubo da Costa <rakuco@FreeBSD.org> + Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> + +--- src/lib/corelib/buildgraph/executor.h ++++ src/lib/corelib/buildgraph/executor.h +@@ -107,7 +107,8 @@ private: + bool operator() (const BuildGraphNode *x, const BuildGraphNode *y) const; + }; + +- typedef std::priority_queue<Artifact *, std::vector<BuildGraphNode *>, ComparePriority> Leaves; ++ typedef std::priority_queue<BuildGraphNode *, std::vector<BuildGraphNode *>, ++ ComparePriority> Leaves; + + void doBuild(); + void prepareAllNodes(); |