[dpdk-dev] [PATCH] net/mlx: fix compile errors with ignore pedantic pragma

Adrien Mazarguil adrien.mazarguil at 6wind.com
Tue Sep 20 20:17:51 CEST 2016


On Tue, Sep 20, 2016 at 04:58:48PM +0100, Bruce Richardson wrote:
> On Tue, Sep 20, 2016 at 02:51:27PM +0200, Adrien Mazarguil wrote:
> > On Mon, Sep 19, 2016 at 04:26:05PM +0100, Bruce Richardson wrote:
> > > On Mon, Sep 19, 2016 at 04:59:59PM +0200, Adrien Mazarguil wrote:
> > > > 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.
> > > > 
> > > Depends on how old of GCC version we need to support. From the release notes
> > > it appears that -Wpedantic was introduced in GCC 4.8 (3 1/2 years ago).
> > > 
> > > https://gcc.gnu.org/gcc-4.8/changes.html
> > > 
> > > Do we need to support compilation on gcc versions older than this?
> > 
> > I'm all for upgrading so I do not really mind if we stop caring about older
> > GCC versions (especially considering this problem only occurs in debugging
> > mode which is seldom used by non-developers). The version check is necessary
> > if we want to keep full compatibility with at least:
> > 
> > - RHEL <= 6.x
> > - Debian <= 7.x
> > - Ubuntu <= 13.04
> > 
> > Works for me either way, thus:
> > 
> > Acked-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
> > 
> Any objections to dropping of support for debug settings for these OS's?

Not sure who should answer this. These #pragma are workarounds we should
eventually get rid of anyway (DPDK headers are now clean enough, some work
remains to be done on the Verbs side) so let's use your patch in the
meantime.

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list