5ad56ed71f
This commit addresses the following compilation errors: In file included from build/include/rte_flow_driver.h:50:0, from /tmp/check-includes.sh.1397.cc:1: build/include/rte_flow.h:428:2: error: expected primary-expression before '.' token [...] build/include/rte_flow.h:469:1: sorry, unimplemented: non-trivial designated initializers not supported [...] In file included from build/include/rte_flow_driver.h:50:0, from /tmp/check-includes.sh.1397.cc:1: build/include/rte_flow.h:631:1: error: C99 designator 'label_tc_s' outside aggregate initializer [...] build/include/rte_flow.h:631:1: error: initializer-string for array of chars is too long [-fpermissive] [...] build/include/rte_flow.h:650:1: sorry, unimplemented: non-trivial designated initializers not supported [...] C++ does not support the C99-style designated initializers used in this file for the default item masks. While the resulting symbols are primarily useful to PMDs (written in C), they are exposed as part of the public API for documentation purposes and to assist application writers. Considering that: - using pre-C99 initialization style for compatibility with C++ would render them difficult to understand (all struct members must be initialized) - using both initialization styles would be needlessly verbose - not exposing them at all would defeat their purpose - applications do not normally need these symbols at run time This commit hides these symbols from C++ applications. Specific C++ initializers will be added later if necessary. Fixes: 6de5c0f1302c ("ethdev: define default item masks in flow API") Fixes: 7cd048321d1d ("ethdev: add MPLS and GRE flow API items") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>