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