mbox

[v4,0/7] Verify C++ compatibility of public headers

Message ID 20220210154239.587185-1-bruce.richardson@intel.com (mailing list archive)
Headers

Message

Bruce Richardson Feb. 10, 2022, 3:42 p.m. UTC
  This patchset expands upon the exiting chkincs infrastructure to build a
C++ test application as well as the existing C test app, which helps
catch any build errors when the public DPDK headers are included in C++
code. The rest of this patchset fixes the errors caught by this
additional check - mostly missing casts, but also one use of "new" as a
variable name, and one missing closing brace for an 'extern "C"' block.

V4:
* add g++-multilib to packages to install for github checks to ensure 32-bit
  builds work
* correct the fixline for patch 1
* add extra cpp_args and cpp_link_args for 32-bit builds in test-meson-builds
  so that includes checks can pass there if enabled.

V3:
* update linux-build script to have cpp_args=-m32 for 32-bit builds

V2:
* Changed patch 6 to have a minimally-invasive fix for C++ without
  affecting existing C code.
* Added fixlines and Cc stable for all patches which are fixes
                         *** SUBJECT HERE ***

*** BLURB HERE ***

Bruce Richardson (7):
  eal: fix header build with C++
  eventdev: fix header build with C++
  graph: fix missing explicit cast for C++ build
  ipsec: fix missing explicit cast for C++ build
  table: fix missing explicit casts for C++ build
  vhost: fix incompatible header includes for C++
  buildtools/chkincs: test headers for C++ compatibility

 .ci/linux-build.sh                       |  1 +
 .github/workflows/build.yml              |  2 +-
 buildtools/chkincs/main.cpp              |  4 +++
 buildtools/chkincs/meson.build           | 20 +++++++++++++++
 devtools/test-meson-builds.sh            |  3 ++-
 lib/eal/include/generic/rte_ticketlock.h | 14 +++++------
 lib/eal/include/rte_trace_point.h        |  2 +-
 lib/eventdev/rte_event_timer_adapter.h   |  3 +++
 lib/eventdev/rte_eventdev.h              |  2 +-
 lib/graph/rte_graph_worker.h             |  2 +-
 lib/ipsec/rte_ipsec_group.h              |  4 +--
 lib/table/rte_table_hash_func.h          | 32 ++++++++++++------------
 lib/vhost/rte_vhost.h                    |  2 ++
 13 files changed, 61 insertions(+), 30 deletions(-)
 create mode 100644 buildtools/chkincs/main.cpp

--
2.32.0