From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id 1A821388A428; Fri, 5 Mar 2021 18:21:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1A821388A428 IronPort-SDR: 4rXp7byKJlL1tbOyJj0A83Tmeld4byspqLOEyP/uWM4hyd2tvGIY6KlzKJrqwNynaLedgubeDp K3P620bu2Dag== X-IronPort-AV: E=McAfee;i="6000,8403,9914"; a="185296829" X-IronPort-AV: E=Sophos;i="5.81,225,1610438400"; d="scan'208";a="185296829" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2021 10:21:30 -0800 IronPort-SDR: wgmv4qCSWApMrP4WH8t9ZNhNLeSVL2GQiRHe0hxha3dv4IZ+plPfxr2WZZIu4MMj1uFyV5RvbC qc3fWRwQUUBQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,225,1610438400"; d="scan'208";a="587221828" Received: from tjmaciei-desk.jf.intel.com (HELO tjmaciei-ctnr.jf.intel.com) ([10.54.75.8]) by orsmga005.jf.intel.com with ESMTP; 05 Mar 2021 10:21:29 -0800 From: Thiago Macieira To: libstdc++@gcc.gnu.org Cc: gcc-patches@gcc.gnu.org Subject: [PATCH 2/3] std::latch: reduce internal implementation from ptrdiff_t to int Date: Fri, 5 Mar 2021 10:21:27 -0800 Message-Id: <20210305182128.2071822-3-thiago.macieira@intel.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210305182128.2071822-1-thiago.macieira@intel.com> References: <20210305182128.2071822-1-thiago.macieira@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2021 18:21:35 -0000 ints can be used as futex on Linux. ptrdiff_t on 64-bit Linux can't. libstdc++-v3/ChangeLog: * include/std/latch: Use int instead of ptrdiff_t --- libstdc++-v3/include/std/latch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/std/latch b/libstdc++-v3/include/std/latch index ef8c301e5e9..f3f73360618 100644 --- a/libstdc++-v3/include/std/latch +++ b/libstdc++-v3/include/std/latch @@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION public: static constexpr ptrdiff_t max() noexcept - { return __gnu_cxx::__int_traits::__max; } + { return __gnu_cxx::__int_traits::__max; } constexpr explicit latch(ptrdiff_t __expected) noexcept : _M_a(__expected) { } @@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } private: - alignas(__alignof__(ptrdiff_t)) ptrdiff_t _M_a; + alignas(4) int _M_a; // kernel requires 4-byte alignment }; _GLIBCXX_END_NAMESPACE_VERSION } // namespace -- 2.30.1