On 5/3/2023 4:57 PM, 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/dbapr08mb58148cec3e1454e8848a938998...@dbapr08mb5814.eurprd08.prod.outlook.com/
>>>
>>> Signed-off-by: Bruce Richardson <bruce.richard...@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.
> 

Ah, thanks for clarification. The previous patch made me think we are
keeping headers C89 compatible, I missed the final decision.

> 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+.
> 

Not just compiler version, application enforcing an old standard also
may cause trouble.

But I can see this is simpler from DPDK perspective.

Reply via email to