From owner-freebsd-office@FreeBSD.ORG Thu Apr 3 20:00:01 2014 Return-Path: Delivered-To: office@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5CDD4DFE for ; Thu, 3 Apr 2014 20:00:01 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48B71891 for ; Thu, 3 Apr 2014 20:00:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.8/8.14.8) with ESMTP id s33K01cT044706 for ; Thu, 3 Apr 2014 20:00:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.8/8.14.8/Submit) id s33K002o044705; Thu, 3 Apr 2014 20:00:00 GMT (envelope-from gnats) Date: Thu, 3 Apr 2014 20:00:00 GMT Message-Id: <201404032000.s33K002o044705@freefall.freebsd.org> To: office@FreeBSD.org From: Marius Strobl Subject: Re: ports/187958: devel/boost-libs: gcc-atomic.hpp:961:64: error: no matching constructor for initialization of 'storage_type' (aka 'boost::atomics::detail::storage128_type') X-BeenThere: freebsd-office@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: Marius Strobl List-Id: Office applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Apr 2014 20:00:01 -0000 The following reply was made to PR ports/187958; it has been noted by GNATS. From: Marius Strobl To: office@freebsd.org, bapt@freebsd.org, beat@freebsd.org Cc: bug-followup@freebsd.org Subject: Re: ports/187958: devel/boost-libs: gcc-atomic.hpp:961:64: error: no matching constructor for initialization of 'storage_type' (aka 'boost::atomics::detail::storage128_type') Date: Thu, 3 Apr 2014 21:53:36 +0200 --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="boost-libs_clang.diff" Index: Makefile =================================================================== --- Makefile (revision 350030) +++ Makefile (working copy) @@ -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 Index: files/patch-boost__atomic__detail__cas128strong.hpp =================================================================== --- files/patch-boost__atomic__detail__cas128strong.hpp (revision 0) +++ files/patch-boost__atomic__detail__cas128strong.hpp (working copy) @@ -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)); + Property changes on: files/patch-boost__atomic__detail__cas128strong.hpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: files/patch-boost__atomic__detail__gcc-atomic.hpp =================================================================== --- files/patch-boost__atomic__detail__gcc-atomic.hpp (revision 0) +++ files/patch-boost__atomic__detail__gcc-atomic.hpp (working copy) @@ -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, Property changes on: files/patch-boost__atomic__detail__gcc-atomic.hpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property --J/dobhs11T7y2rNN--