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 for all components for DPDK in future. This patchset fixes the following components in DPDK:
* all libraries * Intel net drivers * all apps in the "app" folder For the rest of the drivers and example applications, any component which does not build successfully with the shadow warning enabled has it explicitly disabled via cflags. Then the last patch adds -Wshadow to the global DPDK build, which should prevent any regressions in components which are already working. At that point, we should not have any regressions and we can, over time, reduce the number of components needing the -Wno-shadow flag. v3: * rebase on 25.11 release. RFC v2: * take patch from Stephen for RTE_MIN/MAX fixes * add additional fixes to clear clang warnings - it's a lot stricter than gcc in this regard, and flags more issues. * extend app cleanup to all apps, not just testpmd * add per-component disabling, and add global enable flag at the end. Bruce Richardson (30): eal: fix variable shadowing ethdev: fix variable shadowing issues eventdev: fix variable shadowing issues net: remove shadowed variable pipeline: fix variable shadowing table: fix issues with variable shadowing power: rename variable to eliminate shadowing pcapng: rename variable to fix shadowing 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/testpmd: fix build with shadow warnings enabled app/graph: fix build with shadow warnings enabled app/pdump: fix warning about shadowed variable app/test-bbdev: remove shadow warning from next max calls app/test-compress-perf: rename local vars to fix shadowing app/test-crypto-perf: rename local vars to fix shadowing app/test-eventdev: fix build with shadow warnings enabled app/test-flow-perf: remove unneeded variable app/test-security-perf: fix build with shadow warnings app/test-pipeline: remove unnecessary variable drivers: disable variable shadowing warnings for drivers app/test: disable shadowing warnings for unit tests examples: ignore variable shadowing warnings build: enable shadowed variable warnings Stephen Hemminger (1): eal: add more min/max helpers app/graph/conn.c | 134 +++++++++--------- app/pdump/main.c | 12 +- app/test-bbdev/test_bbdev_perf.c | 7 +- app/test-compress-perf/main.c | 122 ++++++++-------- .../cperf_test_pmd_cyclecount.c | 6 +- app/test-eventdev/evt_main.c | 6 +- app/test-eventdev/test_atomic_queue.c | 6 +- app/test-eventdev/test_perf_common.c | 4 +- app/test-flow-perf/main.c | 1 - app/test-pipeline/main.c | 1 - app/test-pmd/cmdline_flow.c | 42 +++--- app/test-pmd/config.c | 15 +- app/test-pmd/parameters.c | 38 +++-- app/test-pmd/testpmd.c | 2 +- app/test-security-perf/test_security_perf.c | 42 +++--- app/test/meson.build | 1 + app/test/test_cryptodev_security_ipsec.c | 13 +- config/meson.build | 6 + drivers/baseband/fpga_5gnr_fec/meson.build | 2 + drivers/bus/fslmc/meson.build | 2 + drivers/bus/pci/linux/pci.c | 1 - drivers/bus/pci/linux/pci_vfio.c | 2 +- drivers/bus/pci/windows/pci.c | 1 - drivers/common/cnxk/meson.build | 1 + drivers/common/qat/meson.build | 1 + drivers/compress/nitrox/meson.build | 2 + drivers/crypto/cnxk/meson.build | 1 + drivers/crypto/octeontx/meson.build | 1 + drivers/crypto/openssl/meson.build | 1 + drivers/crypto/scheduler/meson.build | 1 + drivers/dma/dpaa2/meson.build | 2 + drivers/event/cnxk/meson.build | 1 + drivers/event/dlb2/meson.build | 2 + drivers/event/sw/meson.build | 1 + drivers/net/axgbe/meson.build | 2 +- drivers/net/bnxt/meson.build | 1 + drivers/net/bonding/meson.build | 1 + drivers/net/cnxk/meson.build | 1 + drivers/net/cxgbe/meson.build | 1 + drivers/net/dpaa/meson.build | 1 + drivers/net/dpaa2/meson.build | 1 + drivers/net/ena/meson.build | 2 + drivers/net/enetfec/meson.build | 2 + drivers/net/enic/meson.build | 2 + drivers/net/failsafe/meson.build | 1 + 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 +- drivers/net/mlx5/meson.build | 1 + drivers/net/ntnic/meson.build | 3 + drivers/net/pfe/meson.build | 3 + drivers/net/qede/meson.build | 3 + drivers/net/txgbe/meson.build | 1 + drivers/net/zxdh/meson.build | 3 + drivers/raw/ifpga/meson.build | 2 + drivers/vdpa/mlx5/meson.build | 1 + examples/bbdev_app/meson.build | 1 + examples/bond/meson.build | 1 + examples/dma/meson.build | 1 + examples/ethtool/meson.build | 1 + examples/eventdev_pipeline/meson.build | 1 + examples/flow_filtering/meson.build | 1 + examples/ip_pipeline/meson.build | 1 + examples/ipsec-secgw/meson.build | 1 + examples/l2fwd-crypto/meson.build | 1 + examples/l2fwd-event/meson.build | 1 + examples/l2fwd-jobstats/meson.build | 1 + examples/l2fwd-keepalive/meson.build | 1 + examples/l3fwd-graph/meson.build | 1 + examples/l3fwd-power/meson.build | 1 + examples/l3fwd/meson.build | 1 + .../client_server_mp/mp_server/meson.build | 1 + examples/packet_ordering/meson.build | 1 + examples/ptpclient/meson.build | 1 + examples/qos_sched/meson.build | 1 + .../server_node_efd/efd_server/meson.build | 1 + examples/vhost/meson.build | 1 + .../vm_power_manager/guest_cli/meson.build | 1 + examples/vm_power_manager/meson.build | 1 + examples/vmdq/meson.build | 1 + lib/bbdev/rte_bbdev.c | 2 +- lib/eal/common/eal_common_options.c | 22 +-- lib/eal/common/eal_common_trace.c | 89 ++++++------ lib/eal/common/malloc_heap.c | 2 +- lib/eal/include/rte_common.h | 31 +++- 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/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 +- 109 files changed, 473 insertions(+), 409 deletions(-) -- 2.51.0

