> -----Original Message-----
> From: David Marchand <[email protected]>
> Sent: Tuesday, July 7, 2020 9:57 PM
> To: Joyce Kong <[email protected]>
> Cc: Maxime Coquelin <[email protected]>; [email protected];
> Zhihong Wang <[email protected]>; Xiaolong Ye
> <[email protected]>; Beilei Xing <[email protected]>; Jeff Guo
> <[email protected]>; Mcnamara, John <[email protected]>; Matan
> Azrad <[email protected]>; Shahaf Shuler <[email protected]>;
> Viacheslav Ovsiienko <[email protected]>; Honnappa Nagarahalli
> <[email protected]>; Phil Yang <[email protected]>;
> Ruifeng Wang <[email protected]>; dev <[email protected]>; nd
> <[email protected]>
> Subject: Re: [dpdk-dev] [PATCH v2 1/6] lib/eal: add a common wrapper for
> restricted pointers
> 
> On Mon, Jul 6, 2020 at 9:50 AM Joyce Kong <[email protected]> wrote:
> >
> > The 'restrict' keyword is recognized in C99, while type qulifier
> > '__restrict' compiles ok in C with all language levels. This patch is
> > to add a wrapper defining '__rte_restrict' with 'restrict' and
> > '__restrict' to be supported by all compilers.
> >
> > Signed-off-by: Joyce Kong <[email protected]>
> > ---
> >  lib/librte_eal/include/rte_common.h | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/lib/librte_eal/include/rte_common.h
> > b/lib/librte_eal/include/rte_common.h
> > index 0843ce69e..cda32c056 100644
> > --- a/lib/librte_eal/include/rte_common.h
> > +++ b/lib/librte_eal/include/rte_common.h
> > @@ -103,6 +103,16 @@ typedef uint16_t unaligned_uint16_t;
> >   */
> >  #define __rte_unused __attribute__((__unused__))
> >
> > +/**
> > + * Define a wrapper for restricted pointers which can be supported
> > + * by all compilers.
> > + */
> > +#if __STDC_VERSION__ >= 199901
> > +#define __rte_restrict restrict
> > +#else
> > +#define __rte_restrict __restrict
> > +#endif
> > +
> >  /**
> >   * definition to mark a variable or function parameter as used so
> >   * as to avoid a compiler warning
> > --
> > 2.27.0
> >
> 
> This triggers a build error on Centos 7 as reported by the CI.
> I suppose the following would do the trick, though it is untested:
> 
> /**
>  * Define a wrapper for restricted pointers which can be supported
>  * by all compilers.
>  */
> #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L #define
> __rte_restrict __restrict #else #define __rte_restrict restrict #endif
> 

Will add this judgement in next version.

> 
> --
> David Marchand

Reply via email to