devel/boost-libs fails to compile and update on FreeBSD 9.2-STABLE with CLANG 3.4! [...] In file included from ./boost/atomic/detail/platform.hpp:22: ./boost/atomic/detail/gcc-atomic.hpp:961:64: error: no matching constructor for initialization of 'storage_type' (aka 'boost::atomics::detail::storage128_type') explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ^ ~ ./boost/atomic/detail/gcc-atomic.hpp:932:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const boost::atomics::detail::storage128_type' for 1st argument struct BOOST_ALIGNMENT(16) storage128_type How-To-Repeat: Try to update your FBSD 9.2-STABLE system with CLANG 3.4 the system's compiler.
Responsible Changed From-To: freebsd-ports-bugs->office Over to maintainer (via the GNATS Auto Assign Tool)
Hi guys, could you please approve the attached patch to be committed? %% Pull in the following revisions from https://github.com/boostorg/, fixing compilation with clang 3.4: Commit: 6bb71fdd8f7cc346d90fb14beb38b7297fc1ffd9 Fixed incorrect initialization of 128-bit values, when no native support for 128-bit integers is available. Commit: e4bde20f2eec0a51be14533871d2123bd2ab9cf3 More compilation fixes for the case when 128-bit integers are not supported. PR: 187958 %% Marius
On Thu, Apr 03, 2014 at 09:53:36PM +0200, Marius Strobl wrote: > > Hi guys, > > could you please approve the attached patch to be committed? > > %% > Pull in the following revisions from https://github.com/boostorg/, fixing > compilation with clang 3.4: > Commit: 6bb71fdd8f7cc346d90fb14beb38b7297fc1ffd9 > Fixed incorrect initialization of 128-bit values, when no native support for > 128-bit integers is available. > Commit: e4bde20f2eec0a51be14533871d2123bd2ab9cf3 > More compilation fixes for the case when 128-bit integers are not supported. > > PR: 187958 > %% > > Marius > Approved Bapt
Author: marius Date: Tue Apr 8 07:36:00 2014 New Revision: 350582 URL: http://svnweb.freebsd.org/changeset/ports/350582 QAT: https://qat.redports.org/buildarchive/r350582/ Log: Pull in the following revisions from https://github.com/boostorg/, fixing compilation with clang 3.4: Commit: 6bb71fdd8f7cc346d90fb14beb38b7297fc1ffd9 Fixed incorrect initialization of 128-bit values, when no native support for 128-bit integers is available. Commit: e4bde20f2eec0a51be14533871d2123bd2ab9cf3 More compilation fixes for the case when 128-bit integers are not supported. PR: 187958 Approved by: bapt (mentor) Sponsored by: Bally Wulff Games & Entertainment GmbH Added: head/devel/boost-libs/files/patch-boost__atomic__detail__cas128strong.hpp (contents, props changed) head/devel/boost-libs/files/patch-boost__atomic__detail__gcc-atomic.hpp (contents, props changed) Modified: head/devel/boost-libs/Makefile Modified: head/devel/boost-libs/Makefile ============================================================================== --- head/devel/boost-libs/Makefile Tue Apr 8 07:28:47 2014 (r350581) +++ head/devel/boost-libs/Makefile Tue Apr 8 07:36:00 2014 (r350582) @@ -4,6 +4,8 @@ PORTNAME= boost-libs COMMENT= Free portable C++ libraries (without Boost.Python) +PORTREVISION= 1 + BUILD_DEPENDS+= bjam:${PORTSDIR}/devel/boost-jam OPTIONS_DEFINE= VERBOSE_BUILD DEBUG ICU OPTIMIZED_CFLAGS Added: head/devel/boost-libs/files/patch-boost__atomic__detail__cas128strong.hpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boost-libs/files/patch-boost__atomic__detail__cas128strong.hpp Tue Apr 8 07:36:00 2014 (r350582) @@ -0,0 +1,33 @@ +--- boost/atomic/detail/cas128strong.hpp 2013-07-20 20:01:35.000000000 +0200 ++++ boost/atomic/detail/cas128strong.hpp.orig 2014-04-03 16:34:19.000000000 +0200 +@@ -196,15 +196,17 @@ + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void + store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type value_s = 0; ++ storage_type value_s; ++ memset(&value_s, 0, sizeof(value_s)); + memcpy(&value_s, &value, sizeof(value_type)); + platform_fence_before_store(order); + platform_store128(value_s, &v_); +@@ -247,7 +249,9 @@ + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + Added: head/devel/boost-libs/files/patch-boost__atomic__detail__gcc-atomic.hpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boost-libs/files/patch-boost__atomic__detail__gcc-atomic.hpp Tue Apr 8 07:36:00 2014 (r350582) @@ -0,0 +1,53 @@ +--- boost/atomic/detail/gcc-atomic.hpp 2013-07-20 20:01:35.000000000 +0200 ++++ boost/atomic/detail/gcc-atomic.hpp 2014-04-03 18:03:30.000000000 +0200 +@@ -958,14 +958,16 @@ + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + } +@@ -980,7 +982,8 @@ + + value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + value_type res; +@@ -994,7 +997,9 @@ + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, +@@ -1010,7 +1015,9 @@ + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed close