[PATCH v3] lib/fib: remove warning about implicit 64-bit conversion
Andre Muezerie
andremue at linux.microsoft.com
Tue Mar 4 17:52:50 CET 2025
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 <andremue at 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
More information about the dev
mailing list