[dpdk-dev] [PATCH] net/mlx: fix compile errors with ignore pedantic pragma
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Mon Sep 19 16:59:59 CEST 2016
Hi Bruce,
On Mon, Sep 19, 2016 at 03:36:54PM +0100, Bruce Richardson wrote:
> With recent gcc versions, e.g. gcc 6.1, compilation of mlx drivers with
> debug enabled produces lots of errors complaining that "pedantic" is
> not a warning level that can be ignored.
>
> error: ‘-pedantic’ is not an option that controls warnings [-Werror=pragmas]
> #pragma GCC diagnostic ignored "-pedantic"
> ^~~~~~~~~~~
>
> These errors can be removed by changing the "-pedantic" to "-Wpedantic".
Nice to have a workaround, I thought they did not keep the option at all.
However after testing:
- It does not seem to work with GCC 4.6 and older, they prefer -pedantic:
"warning: unknown option after `#pragma GCC diagnostic' kind".
- GCC 4.9 (possibly 5.x as well) does not care, can use either -pedantic or
-Wpedantic.
- GCC 6 can only supports -Wpedantic.
Note we're working toward removing the need for these #pragma in the first
place as soon as possible, however in the meantime I fear that checking the
GCC version is necessary.
> Fixes: 7fae69eeff13 ("mlx4: new poll mode driver")
> Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> drivers/net/mlx4/mlx4.c | 8 ++++----
> drivers/net/mlx5/mlx5.c | 8 ++++----
> drivers/net/mlx5/mlx5.h | 8 ++++----
> drivers/net/mlx5/mlx5_ethdev.c | 4 ++--
> drivers/net/mlx5/mlx5_fdir.c | 8 ++++----
> drivers/net/mlx5/mlx5_mac.c | 8 ++++----
> drivers/net/mlx5/mlx5_mr.c | 8 ++++----
> drivers/net/mlx5/mlx5_prm.h | 4 ++--
> drivers/net/mlx5/mlx5_rss.c | 8 ++++----
> drivers/net/mlx5/mlx5_rxmode.c | 8 ++++----
> drivers/net/mlx5/mlx5_rxq.c | 8 ++++----
> drivers/net/mlx5/mlx5_rxtx.c | 8 ++++----
> drivers/net/mlx5/mlx5_rxtx.h | 8 ++++----
> drivers/net/mlx5/mlx5_stats.c | 4 ++--
> drivers/net/mlx5/mlx5_trigger.c | 4 ++--
> drivers/net/mlx5/mlx5_txq.c | 8 ++++----
> drivers/net/mlx5/mlx5_vlan.c | 4 ++--
> 17 files changed, 58 insertions(+), 58 deletions(-)
>
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index efe60cf..5bdeac9 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -61,16 +61,16 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ether.h>
> #include <rte_ethdev.h>
> @@ -87,7 +87,7 @@
> #include <rte_alarm.h>
> #include <rte_memory.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* Generated configuration header. */
> diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
> index 7264968..1a0a2be 100644
> --- a/drivers/net/mlx5/mlx5.c
> +++ b/drivers/net/mlx5/mlx5.c
> @@ -43,16 +43,16 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_malloc.h>
> #include <rte_ethdev.h>
> @@ -60,7 +60,7 @@
> #include <rte_common.h>
> #include <rte_kvargs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
> index 3a86609..65241a6 100644
> --- a/drivers/net/mlx5/mlx5.h
> +++ b/drivers/net/mlx5/mlx5.h
> @@ -43,16 +43,16 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ether.h>
> #include <rte_ethdev.h>
> @@ -60,7 +60,7 @@
> #include <rte_interrupts.h>
> #include <rte_errno.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5_utils.h"
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index 130e15d..17588a5 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -50,7 +50,7 @@
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_atomic.h>
> #include <rte_ethdev.h>
> @@ -60,7 +60,7 @@
> #include <rte_alarm.h>
> #include <rte_malloc.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_fdir.c b/drivers/net/mlx5/mlx5_fdir.c
> index 73eb00e..070edde 100644
> --- a/drivers/net/mlx5/mlx5_fdir.c
> +++ b/drivers/net/mlx5/mlx5_fdir.c
> @@ -40,23 +40,23 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ether.h>
> #include <rte_malloc.h>
> #include <rte_ethdev.h>
> #include <rte_common.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_mac.c b/drivers/net/mlx5/mlx5_mac.c
> index f6b27bb..4fcfd3b 100644
> --- a/drivers/net/mlx5/mlx5_mac.c
> +++ b/drivers/net/mlx5/mlx5_mac.c
> @@ -44,22 +44,22 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ether.h>
> #include <rte_ethdev.h>
> #include <rte_common.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
> index 67dfefa..0a36384 100644
> --- a/drivers/net/mlx5/mlx5_mr.c
> +++ b/drivers/net/mlx5/mlx5_mr.c
> @@ -34,20 +34,20 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_mempool.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_prm.h b/drivers/net/mlx5/mlx5_prm.h
> index 5db219b..4383009 100644
> --- a/drivers/net/mlx5/mlx5_prm.h
> +++ b/drivers/net/mlx5/mlx5_prm.h
> @@ -37,11 +37,11 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/mlx5_hw.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* Get CQE owner bit. */
> diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
> index 639e935..0bed74e 100644
> --- a/drivers/net/mlx5/mlx5_rss.c
> +++ b/drivers/net/mlx5/mlx5_rss.c
> @@ -40,21 +40,21 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_malloc.h>
> #include <rte_ethdev.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
> index 8b58555..173e6e8 100644
> --- a/drivers/net/mlx5/mlx5_rxmode.c
> +++ b/drivers/net/mlx5/mlx5_rxmode.c
> @@ -38,20 +38,20 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ethdev.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index 29c137c..99027d2 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -40,25 +40,25 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #include <infiniband/arch.h>
> #include <infiniband/mlx5_hw.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_mbuf.h>
> #include <rte_malloc.h>
> #include <rte_ethdev.h>
> #include <rte_common.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
> index fce3381..a13cbc7 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.c
> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> @@ -39,18 +39,18 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #include <infiniband/mlx5_hw.h>
> #include <infiniband/arch.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_mbuf.h>
> #include <rte_mempool.h>
> @@ -59,7 +59,7 @@
> #include <rte_branch_prediction.h>
> #include <rte_ether.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
> index f6e2cba..952f88c 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.h
> +++ b/drivers/net/mlx5/mlx5_rxtx.h
> @@ -40,22 +40,22 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #include <infiniband/mlx5_hw.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_mbuf.h>
> #include <rte_mempool.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5_utils.h"
> diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
> index 2d3cb51..f2b5781 100644
> --- a/drivers/net/mlx5/mlx5_stats.c
> +++ b/drivers/net/mlx5/mlx5_stats.c
> @@ -33,11 +33,11 @@
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ethdev.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
> index e9b9a29..d4dccd8 100644
> --- a/drivers/net/mlx5/mlx5_trigger.c
> +++ b/drivers/net/mlx5/mlx5_trigger.c
> @@ -33,14 +33,14 @@
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ether.h>
> #include <rte_ethdev.h>
> #include <rte_interrupts.h>
> #include <rte_alarm.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5.h"
> diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
> index 6fe61c4..476ce79 100644
> --- a/drivers/net/mlx5/mlx5_txq.c
> +++ b/drivers/net/mlx5/mlx5_txq.c
> @@ -40,23 +40,23 @@
> /* Verbs header. */
> /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <infiniband/verbs.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_mbuf.h>
> #include <rte_malloc.h>
> #include <rte_ethdev.h>
> #include <rte_common.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5_utils.h"
> diff --git a/drivers/net/mlx5/mlx5_vlan.c b/drivers/net/mlx5/mlx5_vlan.c
> index 4719e69..64e599d 100644
> --- a/drivers/net/mlx5/mlx5_vlan.c
> +++ b/drivers/net/mlx5/mlx5_vlan.c
> @@ -38,12 +38,12 @@
>
> /* DPDK headers don't like -pedantic. */
> #ifdef PEDANTIC
> -#pragma GCC diagnostic ignored "-pedantic"
> +#pragma GCC diagnostic ignored "-Wpedantic"
> #endif
> #include <rte_ethdev.h>
> #include <rte_common.h>
> #ifdef PEDANTIC
> -#pragma GCC diagnostic error "-pedantic"
> +#pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> #include "mlx5_utils.h"
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
More information about the dev
mailing list