On Fri, Jul 15, 2016 at 10:03:02PM +0100, Bruce Richardson wrote: > On Wed, Jul 13, 2016 at 03:02:37PM +0200, Adrien Mazarguil wrote: > > DPDK uses GNU C language extensions in most of its code base. This is fine > > for internal source files whose compilation flags are controlled by DPDK, > > however user applications that use exported "public" headers may experience > > compilation failures when enabling strict error/standard checks (-std and > > -pedantic for instance). > > > > Exported headers are installed system-wide and must be as clean as possible > > so applications do not have to resort to workarounds. > > > > This patchset affects exported headers only, compilation problems are > > addressed as follows: > > > > - Adding the __extension__ keyword to nonstandard constructs (same method > > as existing libraries when there is no other choice). > > - Adding the __extension__ keyword to C11 constructs to remain compatible > > with pure C99. > > - Adding missing includes so exported files can be included out of order > > and on their own. > > - Fixing GNU printf-like variadic macros as there is no magic keyword for > > these. > > > > Having upgraded to Fedora 24, I'm seeing quite a few errors compiling with gcc > 6.1.1 in debug mode. Applying this patchset seems to really cut down on those > errors, so may need to be applied for 16.07 release. > > The remaining error I'm seeing is, in mlx drivers, complaints about the > pedantic flag (the flag which I think was causing all the other errors to be > triggered too): > > error: `-pedantic' is not an option that controls warnings
Saw this as well with GCC 6, I've planned to drop these #pragmas as soon as possible after this series is applied, however there is some work left to do on the libibverbs side before that. > For this set though, I don't see any new errors introduced into gcc or clang > builds for the libs or drivers, and a number of errors cleared, so: > > Tested-by: Bruce Richardson <bruce.richardson at intel.com> Thanks for testing. -- Adrien Mazarguil 6WIND