On Tue, Mar 04, 2025 at 10:47:28AM +0000, Bruce Richardson wrote: > On Mon, Mar 03, 2025 at 02:54:52PM -0800, Andre Muezerie wrote: > > MSVC issues the warning below: > > > > ../lib/fib/trie.c(341): warning C4334: '<<': > > result of 32-bit shift implicitly converted to 64 bits > > (was 64-bit shift intended?) > > > > The fix is to cast the result explicitly to uintptr_t since it is used > > in pointer arithmetic. > > > > Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com> > > --- > > lib/fib/trie.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/fib/trie.c b/lib/fib/trie.c > > index 4893f6c636..bf9f63eaa2 100644 > > --- a/lib/fib/trie.c > > +++ b/lib/fib/trie.c > > @@ -338,7 +338,7 @@ write_edge(struct rte_trie_tbl *dp, const uint8_t > > *ip_part, uint64_t next_hop, > > if (ret < 0) > > return ret; > > if (edge == LEDGE) { > > - write_to_dp((uint8_t *)p + (1 << dp->nh_sz), > > + write_to_dp((uint8_t *)p + (uintptr_t)(1 << dp->nh_sz), > > Might be worth considering using the RTE_PTR_ADD macro too for this line.
Makes sense. I'm using RTE_PTR_ADD in v4. Thanks for the suggestion. > > /Bruce