[v2,1/2] examples/l3fwd: add include for macro definition

Message ID 20220615171013.36426-2-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series add includes to help when editing in Eclipse |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Bruce Richardson June 15, 2022, 5:10 p.m. UTC
  The header files "l3fwd_em.h" and "l3fwd_em_sequential.h" use the
"__rte_always_inline" macro but don't directly include "rte_common.h" to
get the definition of it. This inclusion is not necessary for
compilation, but the lack of it can confuse some indexers - such as
those in eclipse, which reports the lines:

"static __rte_always_inline uint16_t"

as possible definitions of a variable called "uint16_t". This confusion
leads to uint16_t being flagged as an unknown type in all other parts of
the project being indexed, e.g. across all of DPDK code.

Adding in the include of rte_common.h makes it clear to the indexer that
those lines are  part of a function definition, and that allows eclipse
to correctly recognise uint16_t as a type from stdint.h

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/l3fwd/l3fwd_em.h            | 2 ++
 examples/l3fwd/l3fwd_em_sequential.h | 2 ++
 2 files changed, 4 insertions(+)
  

Comments

Thomas Monjalon June 26, 2022, 8:35 a.m. UTC | #1
15/06/2022 19:10, Bruce Richardson:
> The header files "l3fwd_em.h" and "l3fwd_em_sequential.h" use the
> "__rte_always_inline" macro but don't directly include "rte_common.h" to
> get the definition of it. This inclusion is not necessary for
> compilation, but the lack of it can confuse some indexers - such as
> those in eclipse, which reports the lines:
> 
> "static __rte_always_inline uint16_t"
> 
> as possible definitions of a variable called "uint16_t". This confusion
> leads to uint16_t being flagged as an unknown type in all other parts of
> the project being indexed, e.g. across all of DPDK code.
> 
> Adding in the include of rte_common.h makes it clear to the indexer that
> those lines are  part of a function definition, and that allows eclipse
> to correctly recognise uint16_t as a type from stdint.h
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks.
  

Patch

diff --git a/examples/l3fwd/l3fwd_em.h b/examples/l3fwd/l3fwd_em.h
index 11bd951858..fe2ee59f6a 100644
--- a/examples/l3fwd/l3fwd_em.h
+++ b/examples/l3fwd/l3fwd_em.h
@@ -5,6 +5,8 @@ 
 #ifndef __L3FWD_EM_H__
 #define __L3FWD_EM_H__
 
+#include <rte_common.h>
+
 static __rte_always_inline uint16_t
 l3fwd_em_handle_ipv4(struct rte_mbuf *m, uint16_t portid,
 		     struct rte_ether_hdr *eth_hdr, struct lcore_conf *qconf)
diff --git a/examples/l3fwd/l3fwd_em_sequential.h b/examples/l3fwd/l3fwd_em_sequential.h
index f426c508ef..d2f75edb8a 100644
--- a/examples/l3fwd/l3fwd_em_sequential.h
+++ b/examples/l3fwd/l3fwd_em_sequential.h
@@ -5,6 +5,8 @@ 
 #ifndef __L3FWD_EM_SEQUENTIAL_H__
 #define __L3FWD_EM_SEQUENTIAL_H__
 
+#include <rte_common.h>
+
 /**
  * @file
  * This is an optional implementation of packet classification in Exact-Match