On 4/27/20 4:34 PM, Bruce Richardson 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.
It is not a cast as far as I can see, it is exactly ULL (or UL): /usr/include/stdint.h # if __WORDSIZE == 64 # define UINT64_C(c) c ## UL # else # define UINT64_C(c) c ## ULL # endif > If we are going to cast, why not just put "-1" in to save some digits. > > /Bruce