<div dir="auto">Ok.<div dir="auto">Wonder if RTE_PTR_ADD should have the cast there instead </div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, May 17, 2025, 05:45 Andre Muezerie <<a href="mailto:andremue@linux.microsoft.com">andremue@linux.microsoft.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">MSVC issues the warning below:<br>
<br>
../lib/fib/trie.c(341): warning C4334: '<<':<br>
result of 32-bit shift implicitly converted to 64 bits<br>
(was 64-bit shift intended?)<br>
<br>
The fix is to cast (1) explicitly to uintptr_t since it is used<br>
in pointer arithmetic.<br>
<br>
Signed-off-by: Andre Muezerie <<a href="mailto:andremue@linux.microsoft.com" target="_blank" rel="noreferrer">andremue@linux.microsoft.com</a>><br>
---<br>
 lib/fib/trie.c | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/lib/fib/trie.c b/lib/fib/trie.c<br>
index 6c20057ac5..24a08b827d 100644<br>
--- a/lib/fib/trie.c<br>
+++ b/lib/fib/trie.c<br>
@@ -338,7 +338,7 @@ write_edge(struct rte_trie_tbl *dp, const uint8_t *ip_part, uint64_t next_hop,<br>
                if (ret < 0)<br>
                        return ret;<br>
                if (edge == LEDGE) {<br>
-                       write_to_dp((uint8_t *)p + (1 << dp->nh_sz),<br>
+                       write_to_dp(RTE_PTR_ADD(p, (uintptr_t)(1) << dp->nh_sz),<br>
                                next_hop << 1, dp->nh_sz, UINT8_MAX - *ip_part);<br>
                } else {<br>
                        write_to_dp(get_tbl_p_by_idx(dp->tbl8, tbl8_idx *<br>
-- <br>
2.49.0.vfs.0.3<br>
<br>
</blockquote></div>