From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH 0/7] Verify C++ compatibility of public headers
Date: Fri, 4 Feb 2022 17:42:02 +0000 [thread overview]
Message-ID: <20220204174209.440207-1-bruce.richardson@intel.com> (raw)
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.
NOTE: the most complicated changes are in the 6th patch, where there
were linux headers included which were not C++ compatible. This patch
moves the inclusion of those headers to non-public locations in the code
to remove those issues, but I am uncertain what the knock-on impacts of
this change may be. Therefore, I ask particular review from vhost/vdpa
maintainers to see if there is a better solution to this issue
Bruce Richardson (7):
eal: fix header build with C++
eventdev: fix header build with C++
graph: add explicit cast to allow C++ build
ipsec: : add explicit cast to allow C++ build
table: add explicit casts for C++ compatibility
vhost: remove non-C++ compatible includes
buildtools/chkincs: test headers for C++ compatibility
buildtools/chkincs/main.cpp | 4 +++
buildtools/chkincs/meson.build | 20 +++++++++++++++
drivers/net/vhost/rte_eth_vhost.c | 2 ++
drivers/vdpa/ifc/ifcvf_vdpa.c | 2 ++
drivers/vdpa/mlx5/mlx5_vdpa.h | 1 +
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 | 4 ---
13 files changed, 60 insertions(+), 32 deletions(-)
create mode 100644 buildtools/chkincs/main.cpp
--
2.32.0
next reply other threads:[~2022-02-04 17:42 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-04 17:42 Bruce Richardson [this message]
2022-02-04 17:42 ` [PATCH 1/7] eal: fix header build with C++ Bruce Richardson
2022-02-04 17:42 ` [PATCH 2/7] eventdev: " Bruce Richardson
2022-02-07 9:40 ` Jerin Jacob
2022-02-04 17:42 ` [PATCH 3/7] graph: add explicit cast to allow C++ build Bruce Richardson
2022-02-04 18:12 ` Stephen Hemminger
2022-02-07 9:41 ` Jerin Jacob
2022-02-04 17:42 ` [PATCH 4/7] ipsec: " Bruce Richardson
2022-02-04 17:42 ` [PATCH 5/7] table: add explicit casts for C++ compatibility Bruce Richardson
2022-02-04 17:42 ` [PATCH 6/7] vhost: remove non-C++ compatible includes Bruce Richardson
2022-02-04 18:18 ` Bruce Richardson
2022-02-09 9:10 ` Wang, Xiao W
2022-02-09 9:21 ` Bruce Richardson
2022-02-04 17:42 ` [PATCH 7/7] buildtools/chkincs: test headers for C++ compatibility Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 0/7] Verify C++ compatibility of public headers Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 1/7] eal: fix header build with C++ Bruce Richardson
2022-02-10 12:57 ` David Marchand
2022-02-10 14:07 ` Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 2/7] eventdev: " Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 3/7] graph: fix missing explicit cast for C++ build Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 4/7] ipsec: " Bruce Richardson
2022-02-10 12:42 ` Ananyev, Konstantin
2022-02-10 12:02 ` [PATCH v2 5/7] table: fix missing explicit casts " Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 6/7] vhost: fix incompatible header includes for C++ Bruce Richardson
2022-02-10 12:02 ` [PATCH v2 7/7] buildtools/chkincs: test headers for C++ compatibility Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 0/7] Verify C++ compatibility of public headers Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 1/7] eal: fix header build with C++ Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 2/7] eventdev: " Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 3/7] graph: fix missing explicit cast for C++ build Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 4/7] ipsec: " Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 5/7] table: fix missing explicit casts " Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 6/7] vhost: fix incompatible header includes for C++ Bruce Richardson
2022-02-10 14:03 ` [PATCH v3 7/7] buildtools/chkincs: test headers for C++ compatibility Bruce Richardson
2022-02-10 14:37 ` David Marchand
2022-02-10 15:21 ` Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 0/7] Verify C++ compatibility of public headers Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 1/7] eal: fix header build with C++ Bruce Richardson
2022-02-14 9:30 ` Joyce Kong
2022-02-10 15:42 ` [PATCH v4 2/7] eventdev: " Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 3/7] graph: fix missing explicit cast for C++ build Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 4/7] ipsec: " Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 5/7] table: fix missing explicit casts " Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 6/7] vhost: fix incompatible header includes for C++ Bruce Richardson
2022-02-10 15:42 ` [PATCH v4 7/7] buildtools/chkincs: test headers for C++ compatibility Bruce Richardson
2022-02-10 21:58 ` Thomas Monjalon
2022-02-11 10:31 ` Bruce Richardson
2022-02-11 10:57 ` Bruce Richardson
2022-02-11 17:22 ` Thomas Monjalon
2022-02-10 22:07 ` [PATCH v4 0/7] Verify C++ compatibility of public headers Thomas Monjalon
2022-02-11 11:36 ` [PATCH v5 0/2] " Bruce Richardson
2022-02-11 11:36 ` [PATCH v5 1/2] buildtools/chkincs: remove unnecesary linkage Bruce Richardson
2022-02-11 11:36 ` [PATCH v5 2/2] buildtools/chkincs: test headers for C++ compatibility Bruce Richardson
2022-02-12 13:27 ` [PATCH v5 0/2] Verify C++ compatibility of public headers Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220204174209.440207-1-bruce.richardson@intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).