From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH v4 00/10] Fix build errors related to exported headers Date: Mon, 18 Jul 2016 12:47:56 +0200 Message-ID: <20160718104756.GG7621@6wind.com> References: <20160715210302.GA52536@bricha3-MOBL3> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Ferruh Yigit To: Bruce Richardson Return-path: Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by dpdk.org (Postfix) with ESMTP id 1F07E1DB1 for ; Mon, 18 Jul 2016 12:48:00 +0200 (CEST) Received: by mail-wm0-f44.google.com with SMTP id r190so19998041wmr.0 for ; Mon, 18 Jul 2016 03:48:00 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160715210302.GA52536@bricha3-MOBL3> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Thanks for testing. -- Adrien Mazarguil 6WIND