On 4/27/2020 3:00 PM, David Marchand wrote: > On Mon, Apr 27, 2020 at 3:47 PM Ananyev, Konstantin > <konstantin.anan...@intel.com> wrote: >> >> >> >>> -----Original Message----- >>> From: dev <dev-boun...@dpdk.org> On Behalf Of David Marchand >>> Sent: Monday, April 27, 2020 2:37 PM >>> To: Richardson, Bruce <bruce.richard...@intel.com> >>> Cc: dev <dev@dpdk.org>; Ori Kam <or...@mellanox.com>; Thomas Monjalon >>> <tho...@monjalon.net>; Yigit, Ferruh >>> <ferruh.yi...@intel.com>; Andrew Rybchenko <arybche...@solarflare.com>; >>> Zhang, Xiao <xiao.zh...@intel.com> >>> Subject: Re: [dpdk-dev] [PATCH 3/3] ethdev: fix build warning on 64-bit >>> value >>> >>> On Mon, Apr 27, 2020 at 3:34 PM Bruce Richardson >>> <bruce.richard...@intel.com> wrote: >>>> >>>> On Mon, Apr 27, 2020 at 03:23:41PM +0200, David Marchand wrote: >>>>> Building OVS with dpdk, sparse complains about 64-bit constant being >>>>> passed as a normal integer that can't fit it: >>>>> error: constant 0xffffffffffffffff is so big it is unsigned long >>>>> >>>>> Fixes: ecbc8570131d ("ethdev: add PFCP header to flow API") >>>>> >>>>> Signed-off-by: David Marchand <david.march...@redhat.com> >>>>> --- >>>>> lib/librte_ethdev/rte_flow.h | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h >>>>> index 132b44edc6..1fb94f35e8 100644 >>>>> --- a/lib/librte_ethdev/rte_flow.h >>>>> +++ b/lib/librte_ethdev/rte_flow.h >>>>> @@ -1534,7 +1534,7 @@ struct rte_flow_item_pfcp { >>>>> #ifndef __cplusplus >>>>> static const struct rte_flow_item_pfcp rte_flow_item_pfcp_mask = { >>>>> .s_field = 0x01, >>>>> - .seid = RTE_BE64(0xffffffffffffffff), >>>>> + .seid = RTE_BE64(UINT64_C(0xffffffffffffffff)), >>>> >>>> Rather than cast, why not put "ULL" at the end. If we are going to cast, >>>> why not just put "-1" in to save some digits. >>> >>> I preferred this form in the hope future developers who want >>> 0x0fffffffffffffff will copy/paste this. >>> >> >> As I remember there should be UINT64_MAX in stdint.h. > > Yes, we could go with: > + .seid = RTE_BE64(UINT64_MAX),
This is something else but if the value is 'UINT64_MAX', do we need 'RTE_BE64' macro? > > And then next time, for any value like 0x0fff ffff ffff ffff (had to > group the digits of what I had written), pretty sure we will miss this > and I will catch it only when building ovs. > > > -- > David Marchand >