From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <adrien.mazarguil@6wind.com>
Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42])
 by dpdk.org (Postfix) with ESMTP id 282F68D89
 for <dev@dpdk.org>; Fri,  8 Jul 2016 16:35:15 +0200 (CEST)
Received: by mail-wm0-f42.google.com with SMTP id n127so14180412wme.1
 for <dev@dpdk.org>; Fri, 08 Jul 2016 07:35:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=date:from:to:cc:subject:message-id:mail-followup-to:references
 :mime-version:content-disposition:in-reply-to;
 bh=DcSz2nwG5mi/se+w5vPMLhNmUkmEREFXo6OSG2sE7mo=;
 b=z0ZGBcYByUF/SciZbwX6zWSwdl07I23VG/milLdNWKUqGn4BIDyE+0ojxBxw/qhpiW
 i5wXn0h011hOoLM6Mvi28uVYX7SuqPfXWZJ2yx/mnNcHNlWS3Im4W9t5rcy/t6NF1WG8
 q+eNBMDZYxgCcdGFr/PFRh72SuPCf+n9obtJG9v5XgfTR7jG48Qkyjj4iP3e+JQ0RNC+
 KNvWbaRzIs6SpMjAOM+bBwdjx1Iqlg/+RcnaGbDxOcpb2s/hwcLS37Z1EUjuce4LPgO+
 ps7jnUacoD2MJOJw/+G45TiCwdBvPXhLgbk/mkkCB4fGHwOMyOej7axWMwU0gUdB0dlr
 Jdbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:date:from:to:cc:subject:message-id
 :mail-followup-to:references:mime-version:content-disposition
 :in-reply-to;
 bh=DcSz2nwG5mi/se+w5vPMLhNmUkmEREFXo6OSG2sE7mo=;
 b=lK1NjHGeF+3KyrcoJXJNEUUNPPa+jAs/psMG1pqdFpLa/SsWxubh89QWX1f3XhcoLL
 QaImUSedNgppf+N8BR9wGkhRRyJ8lIwTew6MOcrcKOku5Zf3w15/eIM5haceUxpyixqw
 Ydcrr6HRs0+E+6vZOvpncZTyoq6IRAxCtoU/STXj5264spm+hUauA1Pi2d8yLLYlwQp8
 dseBC3/0O7RTz8eSuKQoWhGidfxvfDK9CumjqMadQq6dy2pRuLjZl98btEZnxQVgMCKT
 ydqeMs0IDEFLd1BF+ZrUcUUB2mnJfa39FSXlbgGJeVM6ERRoe1UZesQVHO3mp7hkqvXX
 tJqQ==
X-Gm-Message-State: ALyK8tJ+48uIRn2qttTnS6k0dsvoBINWRgEgnNNqhTUEp1avCm2NPPoLLWwuGfFQ87JiNQ5x
X-Received: by 10.28.145.17 with SMTP id t17mr4005102wmd.14.1467988515001;
 Fri, 08 Jul 2016 07:35:15 -0700 (PDT)
Received: from 6wind.com (guy78-3-82-239-227-177.fbx.proxad.net.
 [82.239.227.177])
 by smtp.gmail.com with ESMTPSA id ib10sm4417078wjb.31.2016.07.08.07.35.13
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 08 Jul 2016 07:35:14 -0700 (PDT)
Date: Fri, 8 Jul 2016 16:35:12 +0200
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "Yigit, Ferruh" <ferruh.yigit@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Message-ID: <20160708143512.GG7621@6wind.com>
Mail-Followup-To: "Wiles, Keith" <keith.wiles@intel.com>,
 "Yigit, Ferruh" <ferruh.yigit@intel.com>,
 "dev@dpdk.org" <dev@dpdk.org>
References: <cover.1467715254.git.adrien.mazarguil@6wind.com>
 <cover.1467905466.git.adrien.mazarguil@6wind.com>
 <10B01822-557C-400A-A6BE-DBFF60AF90E4@intel.com>
 <20160708080543.GB7621@6wind.com> <577F78E9.8020705@intel.com>
 <EAB2DCDC-D7B0-4121-858C-0D2A9E5D81C9@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <EAB2DCDC-D7B0-4121-858C-0D2A9E5D81C9@intel.com>
Subject: Re: [dpdk-dev] [PATCH v3 00/11] Fix build errors related to
 exported headers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Jul 2016 14:35:15 -0000

On Fri, Jul 08, 2016 at 02:15:37PM +0000, Wiles, Keith wrote:
> 
> > On Jul 8, 2016, at 4:56 AM, Yigit, Ferruh <ferruh.yigit@intel.com> wrote:
> > 
> > On 7/8/2016 9:05 AM, Adrien Mazarguil wrote:
> >> On Thu, Jul 07, 2016 at 06:33:17PM +0000, Wiles, Keith wrote:
> >>> 
> >>>> On Jul 7, 2016, at 10:49 AM, Adrien Mazarguil <adrien.mazarguil@6wind.com> 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).
> >>> 
> >>> Do you try compiling these changes with CLANG and/or ICC compilers?
> >> 
> >> clang/clang++ yes, works fine. I did not try with ICC however.
> > 
> > I tested with icc, getting following error [1], compiler warning seems
> > valid, but didn't investigate what in your patch cause this.
> > 
> > [1]
> > .../app/test/test_table_acl.c(487): error #2405: array of elements
> > containing a flexible array member is nonstandard
> >                struct rte_pipeline_table_entry entries[5];
> >                                                ^
> > 
> > .../app/test/test_table_acl.c(492): error #2405: array of elements
> > containing a flexible array member is nonstandard
> >                struct rte_pipeline_table_entry entries_ptr[5];
> 
> I am guessing it does not like the uint8_t action_data[0] in the rte_pipeline_table_entry structure. I can see why it would be non-standard allocated on the stack in this case. Maybe a keyword like __extension__ needs to be added or pragma.

Hmmm, right, a variable array cannot be embedded like that. I think a change
in test_table_acl.c would be better. I guess I missed a compilation check on
these tests programs. Is that the only issue you saw?

> >> Note that considering "({ ... })" is a GNU extension, compilers that do
> >> support this syntax also support the GNU __extension__ keyword. As a result,
> >> those that do not support this keyword most likely already cannot compile
> >> DPDK at all.

-- 
Adrien Mazarguil
6WIND