[dpdk-dev] [PATCH v2] net: fix compilation with pedantic enabled

Raslan Darawsheh rasland at mellanox.com
Tue Jul 21 10:31:55 CEST 2020


when trying to compile rte_mpls with pedantic enabled,
on old compilers like 4.8 it will complain about bit field definition.

error: type of bit-field 'bs' is a GCC extension [-Werror=pedantic]
error: type of bit-field 'tc' is a GCC extension [-Werror=pedantic]
error: type of bit-field 'tag_lsb' is a GCC extension [-Werror=pedantic]

This fixes the compilation error by adding extension to the header
definition.

Fixes: e480cf487a0d ("net: add MPLS header structure")
Cc: olivier.matz at 6wind.com
Cc: stable at dpdk.org

Signed-off-by: Raslan Darawsheh <rasland at mellanox.com>
---
v2: fixed commit log spelling issue
    added reference to old compilers where it fail.
    change the implementation from changing the type of the bit fields
    to adding __extension__ to the header definition
---
 lib/librte_net/rte_mpls.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_net/rte_mpls.h b/lib/librte_net/rte_mpls.h
index db91707..3e8cb90 100644
--- a/lib/librte_net/rte_mpls.h
+++ b/lib/librte_net/rte_mpls.h
@@ -21,6 +21,7 @@ extern "C" {
 /**
  * MPLS header.
  */
+__extension__
 struct rte_mpls_hdr {
 	uint16_t tag_msb;   /**< Label(msb). */
 #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
-- 
2.7.4



More information about the dev mailing list