https://bugs.dpdk.org/show_bug.cgi?id=1003
Bug ID: 1003 Summary: unbalanced braces in header files for extern C declarations causing C++ compilation errors Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: swas...@microsoft.com Target Milestone: --- This was introduced in DPDK 20.11.5. 20.11.4 did not have these issues: There are a few header files that have multiple extern C declarations, and some of them have unbalanced braces. This causes C++ compiler errors. To find them all: $ find . -name '*.h'|xargs grep 'extern "C' > foo $ find . -name '*.h'|xargs grep 'extern "C'|uniq > bar $ diff foo bar 102d101 < ./lib/librte_eventdev/rte_eventdev_pmd.h:extern "C" { 105d103 < ./lib/librte_eventdev/rte_eventdev_pmd_pci.h:extern "C" { 110d107 < ./lib/librte_eventdev/rte_eventdev_pmd_vdev.h:extern "C" { 153d149 < ./lib/librte_ethdev/rte_ethdev_driver.h:extern "C" { rte_eventdev_pmd.h merely has two nested extern C blocks. rte_eventdev_pmd_pci.h has two nested extern C blocks, but only one closing brace at the bottom of the file. The same is true for rte_ethdev_driver.h and rte_eventdev_pmd_vdev.h. The latter three cause compilation errors when included from C++ code. -- You are receiving this mail because: You are the assignee for the bug.