[v2] build: announce requirement for C11

Message ID 20230503173022.22160-1-bruce.richardson@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] build: announce requirement for C11 |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-testing warning Testing issues
ci/iol-x86_64-unit-testing success Testing PASS
ci/intel-Functional success Functional PASS

Commit Message

Bruce Richardson May 3, 2023, 5:30 p.m. UTC
  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>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

---

V2:
- add requirement for stdatomics
- fix sphinx formatting
---
 doc/guides/rel_notes/deprecation.rst | 9 +++++++++
 1 file changed, 9 insertions(+)
  

Comments

Mattias Rönnblom May 4, 2023, 7:50 a.m. UTC | #1
On 2023-05-03 19:30, 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>
> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> ---
> 
> V2:
> - add requirement for stdatomics
> - fix sphinx formatting
> ---
>   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dcc1ca1696..70c6019d26 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -11,6 +11,15 @@ here.
>   Deprecation Notices
>   -------------------
>   
> +* C Compiler: From DPDK 23.11 onwards,
> +  building DPDK will require a C compiler which supports the C11 standard,
> +  including support for C11 standard atomics.

The whole of C11, or just the mandatory parts (+atomics)?

> +
> +  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.
>
  
Bruce Richardson May 4, 2023, 8:48 a.m. UTC | #2
On Thu, May 04, 2023 at 09:50:09AM +0200, Mattias Rönnblom wrote:
> On 2023-05-03 19:30, 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>
> > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > 
> > ---
> > 
> > V2:
> > - add requirement for stdatomics
> > - fix sphinx formatting
> > ---
> >   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
> >   1 file changed, 9 insertions(+)
> > 
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index dcc1ca1696..70c6019d26 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -11,6 +11,15 @@ here.
> >   Deprecation Notices
> >   -------------------
> > +* C Compiler: From DPDK 23.11 onwards,
> > +  building DPDK will require a C compiler which supports the C11 standard,
> > +  including support for C11 standard atomics.
> 
> The whole of C11, or just the mandatory parts (+atomics)?
> 
I assume we only need mandatory + atomics, however perhaps someone more
knowledgable about what the optional parts of the spec are, can correct me
on this. Once clarified, I maybe should reword this yet again to call it
out even more specificallly.

/Bruce
  
Tyler Retzlaff May 4, 2023, 3:24 p.m. UTC | #3
On Thu, May 04, 2023 at 09:48:59AM +0100, Bruce Richardson wrote:
> On Thu, May 04, 2023 at 09:50:09AM +0200, Mattias Rönnblom wrote:
> > On 2023-05-03 19:30, 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>
> > > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > > 
> > > ---
> > > 
> > > V2:
> > > - add requirement for stdatomics
> > > - fix sphinx formatting
> > > ---
> > >   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
> > >   1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > > index dcc1ca1696..70c6019d26 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -11,6 +11,15 @@ here.
> > >   Deprecation Notices
> > >   -------------------
> > > +* C Compiler: From DPDK 23.11 onwards,
> > > +  building DPDK will require a C compiler which supports the C11 standard,
> > > +  including support for C11 standard atomics.
> > 
> > The whole of C11, or just the mandatory parts (+atomics)?
> > 
> I assume we only need mandatory + atomics, however perhaps someone more
> knowledgable about what the optional parts of the spec are, can correct me
> on this. Once clarified, I maybe should reword this yet again to call it
> out even more specificallly.

mandatory + atomics, no more than that.

so -std=c11 and __STDC_NO_ATOMICS__ is not defined, that is all.

> 
> /Bruce
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dcc1ca1696..70c6019d26 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,15 @@  here.
 Deprecation Notices
 -------------------
 
+* C Compiler: From DPDK 23.11 onwards,
+  building DPDK will require a C compiler which supports the C11 standard,
+  including support for C11 standard atomics.
+
+  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.