From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 97FE243F56; Tue, 30 Apr 2024 22:06:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 360D340262; Tue, 30 Apr 2024 22:06:13 +0200 (CEST) Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by mails.dpdk.org (Postfix) with ESMTP id 0B6994025C; Tue, 30 Apr 2024 22:06:12 +0200 (CEST) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id A7832849B; Tue, 30 Apr 2024 22:06:11 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 9B2C7849A; Tue, 30 Apr 2024 22:06:11 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on hermod.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ALL_TRUSTED,AWL, T_SCC_BODY_TEXT_LINE autolearn=disabled version=4.0.0 X-Spam-Score: -1.3 Received: from [192.168.1.59] (h-62-63-215-114.A163.priv.bahnhof.se [62.63.215.114]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 5BC148506; Tue, 30 Apr 2024 22:06:09 +0200 (CEST) Message-ID: Date: Tue, 30 Apr 2024 22:06:08 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [DPDK/core Bug 1425] enable_stdatomic=true breaks C++ on GCC 11 and earlier To: Tyler Retzlaff , bugzilla@dpdk.org Cc: dev@dpdk.org References: <20240429231458.GB17852@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> Content-Language: en-US From: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= In-Reply-To: <20240429231458.GB17852@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 2024-04-30 01:14, Tyler Retzlaff wrote: > On Mon, Apr 29, 2024 at 06:21:13AM +0000, bugzilla@dpdk.org wrote: >> https://bugs.dpdk.org/show_bug.cgi?id=1425 >> >> Bug ID: 1425 >> Summary: enable_stdatomic=true breaks C++ on GCC 11 and >> earlier >> Product: DPDK >> Version: 23.11 >> Hardware: All >> OS: Linux >> Status: UNCONFIRMED >> Severity: normal >> Priority: Normal >> Component: core >> Assignee: dev@dpdk.org >> Reporter: mattias.ronnblom@ericsson.com >> Target Milestone: --- >> >> On GCC 11 and earlier, configuring enable_stdatomic=true prevents the use of >> all DPDK header files that directly or indirectly include >> from a C++ translation unit (e.g., app). >> >> includes , which in turn is not necessarily >> C++-compatible. > > This is known but to add some information. > Is it also documented? > C++ and enable_stdatomic=true for llvm and gcc are not currently > supported. the combination will remain unsupported for C++ compilers > that do not support -std=c++23 which is the first C++ standard that > requires interoperability with C11 stdatomic.h > > When enable_stdatomic=true there are bugs/incorrect usages of atomic > qualifier in casts that (even when using C++23) cause compilation > failure. These are a fixable but are low priority without -std=c++23. > > Finally, the legacy atomics remain unconverted to stdatomic. This will > cause enable_stdatomic=true not to build when using llvm (but not gcc) > because llvm strictly enforces qualification when using atomic generics. > OK, I see. It'll be a while until enable_stdatomic is usable outside Windows then, for generic builds. Am I right if I say that C++23-capable compilers/run-times are supposed to have a which interoperates with C++ even in C++11-mode? Or need the application be compiled as C++23. >> >> -- >> You are receiving this mail because: >> You are the assignee for the bug.