Summary: | devel/boost-libs: gcc-atomic.hpp:961:64: error: no matching constructor for initialization of 'storage_type' (aka 'boost::atomics::detail::storage128_type') | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | O. Hartmann <ohartmann> | ||||
Component: | Individual Port(s) | Assignee: | FreeBSD Office Team <office> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | ||||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
O. Hartmann
2014-03-26 14:50:01 UTC
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 |