> From: Andre Muezerie [mailto:andre...@linux.microsoft.com]
> Sent: Friday, 16 May 2025 22.46
> 
> 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 (1) 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 6c20057ac5..24a08b827d 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(RTE_PTR_ADD(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.49.0.vfs.0.3

Reviewed-by: Morten Brørup <m...@smartsharesystems.com>

Reply via email to