On Mon, Mar 03, 2025 at 10:49:52PM -0800, Stephen Hemminger wrote: > Better to cast the constant (1) to avoid warning, > . > That is what other code does like RTE_BIT macros
Alright, I made that change in v4. > > On Mon, Mar 3, 2025, 23:55 Andre Muezerie <andre...@linux.microsoft.com> > 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), > > next_hop << 1, dp->nh_sz, UINT8_MAX - > > *ip_part); > > } else { > > write_to_dp(get_tbl_p_by_idx(dp->tbl8, tbl8_idx * > > -- > > 2.48.1.vfs.0.0 > > > >