[RFC PATCH 00/19] Fix building much of DPDK with -Wshadow

Bruce Richardson
2025-11-06T14:09:59Z

As flagged in bugs #1742, #1743 and others, much of DPDK fails to build
when -Wshadow flag is passed to the build. This patchset fixes many
issues of this nature, but not all, in the hopes we can move towards
enabling that warning flag globally for DPDK in future. This patchset
fixes the following components in DPDK:

* all libraries
* Intel drivers
* testpmd

The following build now works on my system after this set is applied:

meson setup -Denable_drivers=net/intel/* -Denable_apps=test-pmd --werror -Dc_args=-Wshadow build-shadow && ninja -C build-shadow

Bruce Richardson (19):
eal: fix variable shadowing
ethdev: fix variable shadowing issues
eventdev: fix variable shadowing issues
net: remove shadowed variable
graph: fix variable shadowing errors
pipeline: fix variable shadowing
table: fix issues with variable shadowing
power: rename variable to eliminate shadowing
pcapng: rename variable to fix shadowing
telemetry: make socket handler typedef private
bbdev: fix variable shadowing
bus/pci: remove shadowed variables
net/intel: rename function param to avoid shadow warnings
net/e1000: fix build with shadow warnings enabled
net/i40e: fix build with shadow warnings enabled
net/ice: fix build with shadow warnings enabled
net/cpfl: fix build with shadow warnings enabled
net/ixgbe: fix build with shadow warnings enabled
app/test-pmd: fix build with shadow warnings enabled

app/test-pmd/cmdline_flow.c | 42 ++++-----
app/test-pmd/config.c | 15 ++--
app/test-pmd/parameters.c | 4 +-
app/test-pmd/testpmd.c | 2 +-
drivers/bus/pci/linux/pci.c | 1 -
drivers/bus/pci/linux/pci_vfio.c | 2 +-
drivers/net/intel/common/rx.h | 6 +-
drivers/net/intel/cpfl/cpfl_flow_engine_fxp.c | 2 -
drivers/net/intel/cpfl/cpfl_flow_parser.c | 6 +-
drivers/net/intel/cpfl/cpfl_fxp_rule.h | 2 -
drivers/net/intel/cpfl/cpfl_representor.h | 2 +-
drivers/net/intel/e1000/igc_ethdev.c | 6 +-
drivers/net/intel/i40e/i40e_ethdev.h | 10 +--
drivers/net/intel/ice/ice_ethdev.c | 6 +-
drivers/net/intel/ixgbe/ixgbe_fdir.c | 7 +-
lib/bbdev/rte_bbdev.c | 2 +-
lib/eal/common/eal_common_options.c | 12 +--
lib/eal/common/eal_common_trace.c | 89 +++++++++----------
lib/eal/common/malloc_heap.c | 2 +-
lib/ethdev/ethdev_driver.c | 6 +-
lib/ethdev/rte_ethdev.c | 1 -
lib/eventdev/rte_event_eth_rx_adapter.c | 5 +-
lib/eventdev/rte_event_eth_tx_adapter.c | 8 +-
lib/graph/graph.c | 4 +-
lib/graph/graph_private.h | 2 +-
lib/net/net_crc_avx512.c | 4 +-
lib/pcapng/rte_pcapng.c | 7 +-
lib/pipeline/rte_swx_ctl.c | 11 ++-
lib/pipeline/rte_swx_pipeline.c | 21 +++--
lib/pipeline/rte_swx_pipeline_internal.h | 10 +--
lib/power/rte_power_pmd_mgmt.c | 6 +-
lib/table/rte_lru.h | 38 ++++----
lib/table/rte_lru_arm64.h | 14 +--
lib/table/rte_lru_x86.h | 4 +-
lib/table/rte_swx_table_em.c | 2 -
lib/table/rte_swx_table_learner.c | 4 +-
lib/table/rte_table_hash_key16.c | 4 +-
lib/table/rte_table_hash_key32.c | 4 +-
lib/table/rte_table_hash_key8.c | 4 +-
lib/telemetry/rte_telemetry.h | 11 ---
lib/telemetry/telemetry.c | 2 +-
lib/telemetry/telemetry_internal.h | 11 +++
42 files changed, 186 insertions(+), 215 deletions(-)

--
2.48.1