From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 8D8DC42A51;
	Wed,  3 May 2023 18:07:57 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 65C3141144;
	Wed,  3 May 2023 18:07:57 +0200 (CEST)
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by mails.dpdk.org (Postfix) with ESMTP id 6FD10410F9;
 Wed,  3 May 2023 18:07:55 +0200 (CEST)
Received: by linux.microsoft.com (Postfix, from userid 1086)
 id B061F203B3F1; Wed,  3 May 2023 09:07:54 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com B061F203B3F1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
 s=default; t=1683130074;
 bh=suvmQrsR3gzosCxBbFC5U/6feWUXiiUXlwVDjOB+6LM=;
 h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
 b=MmOZOgCQxmNHDbofp22ixPrS9JiybSQkKUegARcTjSVDEJrm2s8u3+P+s6cM1Uoh9
 la8bnvISX8cwRqEr9yL9B3eJJcQnVipZPe/C/RdGQe4M9gPDLLkyYZp6Uav5P2A1o7
 R2nN6SKh4lW50kMJhqikpQQIVCzxrkC1gmo7NtJk=
Date: Wed, 3 May 2023 09:07:54 -0700
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Ferruh Yigit <ferruh.yigit@amd.com>, dev@dpdk.org, techboard@dpdk.org
Subject: Re: [PATCH] build: announce requirement for C11
Message-ID: <20230503160754.GB12879@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
References: <20230503151413.14915-1-bruce.richardson@intel.com>
 <109ffc3a-faad-eef2-b44a-5838c4c2f184@amd.com>
 <ZFKEdMP188QoJWYh@bricha3-MOBL.ger.corp.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZFKEdMP188QoJWYh@bricha3-MOBL.ger.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

On Wed, May 03, 2023 at 04:57:40PM +0100, Bruce Richardson wrote:
> On Wed, May 03, 2023 at 04:39:14PM +0100, Ferruh Yigit wrote:
> > On 5/3/2023 4:14 PM, Bruce Richardson wrote:
> > > Add a deprecation notice informing users that we will require a C11
> > > compiler from 23.11 release onwards. This requirement was agreed by
> > > technical board to enable use of newer C language features, e.g.
> > > standard atomics. [1]
> > > 
> > > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > > 
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > >  doc/guides/rel_notes/deprecation.rst | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > > index dcc1ca1696..9a391d2c49 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -11,6 +11,12 @@ here.
> > >  Deprecation Notices
> > >  -------------------
> > >  
> > > +* C Compiler: From DPDK 23.11 onwards,
> > > +  building DPDK will require a C compiler which supports the C11 standard, or later.
> > > +  Please note:
> > > +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> > > +     - C11 is the default compilation mode in Clang from version 3.6
> > > +
> > >  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
> > >    for returning key match count. It will ease handling of no-match case.
> > >  
> > 
> > This only applies to DPDK internals, right?
> > Application linked with DPDK library won't have this requirement,
> > meaning DPDK public headers won't rely on C99 and C11 features.
> >
> No, AFAIK, that is not correct. Originally I had thought that that would be
> the case - hence the special-case tests for the headers in my previous C99
> patch - but the consensus at the DPDK techboard was that we won't require
> all headers to remain C89 compatible.
> 

this is my recollection as well, everything is being aligned to C11,
which is why we are waiting for 23.11 release before the changes can
come in.

> Originally, I was unsure about this, but now I agree with this position, on
> the basis that since GCC 5, unless you have been explicitly requesting an
> older standard, the compiler is using C11 rules. Therefore, everyone using
> these later GCC versions is already using C11+.

> 
> /Bruce