From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7857) id 5D9F63858C3A; Tue, 23 May 2023 10:02:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D9F63858C3A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1684836154; bh=eW7R3ArOs05FB1X6P3X9UHJZBK9yPr3YMMgNtFAOYQU=; h=From:To:Subject:Date:From; b=L2k3cdbg7Dk7no64ghtbeG29DeDGC3p5Yv3TiBpC4MhzMaLY5FPyZ/+20sJk/4E++ XGpCSajJx74aK5WiixIet58xTDDh3liInBo0UYu31L7I3Ontl7x/9O4BIBTfX4bb7A w709AnsiyItmMojtRZonQavtpgwykttaZ5lHtOeI= 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 r12-9638] libstdc++: Fix simd build failure on clang X-Act-Checkin: gcc X-Git-Author: Matthias Kretz X-Git-Refname: refs/heads/releases/gcc-12 X-Git-Oldrev: d3217028725f06f4eb67a4c80b12e1a3219d3502 X-Git-Newrev: 41f75cfea48d97ea5cadd220d932163a1e17cf9a Message-Id: <20230523100234.5D9F63858C3A@sourceware.org> Date: Tue, 23 May 2023 10:02:34 +0000 (GMT) List-Id: https://gcc.gnu.org/g:41f75cfea48d97ea5cadd220d932163a1e17cf9a commit r12-9638-g41f75cfea48d97ea5cadd220d932163a1e17cf9a 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 bd4e380df65..fee7f871176 100644 --- a/libstdc++-v3/include/experimental/bits/simd_detail.h +++ b/libstdc++-v3/include/experimental/bits/simd_detail.h @@ -254,15 +254,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)