From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7857) id 680CB3856976; Thu, 25 May 2023 07:04:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 680CB3856976 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1684998266; bh=iA5pQ4zSGOXF8iXjfnUsLC/OfFBHROrhMYhrhEPQqhs=; h=From:To:Subject:Date:From; b=N9ImTERtt1z8cWSaLO/gU273OLoES2yzCRIpPh/49W3UXlsfV1dXr5JVFBcl7Zva0 cPqZc5W+kH62Yz0r+kL1uFWWrzU/tyqyS38V8k7tkQlr6jbFxcGObzXHgeXH9bebKM Yaa2V1fZZawzRIlVnBdFseoarUY4iJeZk8pRsIL0= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Matthias Kretz To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r11-10812] libstdc++: Fix simd build failure on clang X-Act-Checkin: gcc X-Git-Author: Matthias Kretz X-Git-Refname: refs/heads/releases/gcc-11 X-Git-Oldrev: 2da5976cf683d84a1857bfa34c5c3d0d661fffbd X-Git-Newrev: a2a953d11e80ac4b351bbaa4a8fa4e6b76de317c Message-Id: <20230525070426.680CB3856976@sourceware.org> Date: Thu, 25 May 2023 07:04:26 +0000 (GMT) List-Id: https://gcc.gnu.org/g:a2a953d11e80ac4b351bbaa4a8fa4e6b76de317c commit r11-10812-ga2a953d11e80ac4b351bbaa4a8fa4e6b76de317c Author: Matthias Kretz Date: Mon Feb 20 11:13:44 2023 +0100 libstdc++: Fix simd build failure on clang Clang does not support __attribute__ on lambdas. Therefore, only set _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA if __clang__ is not defined. Signed-off-by: Matthias Kretz libstdc++-v3/ChangeLog: PR libstdc++/108030 * include/experimental/bits/simd_detail.h (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for __clang__. (cherry picked from commit 92c47b15d5af3e7f93d11ad69a45b6d1cb8661c5) Diff: --- libstdc++-v3/include/experimental/bits/simd_detail.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/experimental/bits/simd_detail.h b/libstdc++-v3/include/experimental/bits/simd_detail.h index d3accad2691..2e73daac9be 100644 --- a/libstdc++-v3/include/experimental/bits/simd_detail.h +++ b/libstdc++-v3/include/experimental/bits/simd_detail.h @@ -214,15 +214,16 @@ #ifdef __clang__ #define _GLIBCXX_SIMD_NORMAL_MATH +#define _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA #else #define _GLIBCXX_SIMD_NORMAL_MATH \ [[__gnu__::__optimize__("finite-math-only,no-signed-zeros")]] +#define _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA __attribute__((__always_inline__)) #endif #define _GLIBCXX_SIMD_NEVER_INLINE [[__gnu__::__noinline__]] #define _GLIBCXX_SIMD_INTRINSIC \ [[__gnu__::__always_inline__, __gnu__::__artificial__]] inline #define _GLIBCXX_SIMD_ALWAYS_INLINE [[__gnu__::__always_inline__]] inline -#define _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA __attribute__((__always_inline__)) #define _GLIBCXX_SIMD_IS_UNLIKELY(__x) __builtin_expect(__x, 0) #define _GLIBCXX_SIMD_IS_LIKELY(__x) __builtin_expect(__x, 1)