> -----Original Message----- > From: David Marchand <david.march...@redhat.com> > Sent: Tuesday, July 7, 2020 9:57 PM > To: Joyce Kong <joyce.k...@arm.com> > Cc: Maxime Coquelin <maxime.coque...@redhat.com>; jer...@marvell.com; > Zhihong Wang <zhihong.w...@intel.com>; Xiaolong Ye > <xiaolong...@intel.com>; Beilei Xing <beilei.x...@intel.com>; Jeff Guo > <jia....@intel.com>; Mcnamara, John <john.mcnam...@intel.com>; Matan > Azrad <ma...@mellanox.com>; Shahaf Shuler <shah...@mellanox.com>; > Viacheslav Ovsiienko <viachesl...@mellanox.com>; Honnappa Nagarahalli > <honnappa.nagaraha...@arm.com>; Phil Yang <phil.y...@arm.com>; > Ruifeng Wang <ruifeng.w...@arm.com>; dev <dev@dpdk.org>; nd > <n...@arm.com> > 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 <joyce.k...@arm.com> 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 <joyce.k...@arm.com> > > --- > > 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