From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 2001A5689 for ; Tue, 5 Jul 2016 13:35:06 +0200 (CEST) Received: by mail-wm0-f53.google.com with SMTP id 187so26422224wmz.1 for ; Tue, 05 Jul 2016 04:35:06 -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:content-transfer-encoding :in-reply-to; bh=hzrS9Kp43sPUgbGm130lEb7xWZNT5l2qh/E5jfpNsrQ=; b=txi6GULG3qrfoNht9jPX0RN5XT63/TURukF0MFibVsjX6yi1x+x9LfBX6JGQMLv5p4 XThX0nQdi61f0pIpSrXJLx4dxEt1BkyWBv6kvoumGBNSV/F8vWO697GBF+8avVS15e0s lcZSFSAbjd1B7WT5FgwXSXVCdaG6kxNFdFd8vJUckXy+HX2Jvr/Q0XFs+f6FtN3bVTsQ LMbWhlcuZYVTO6GD6QvzHHUJN7tANAICemI8u4FdfUwSKedQ2eRWQaAVx99Q3FXRw3Dz 2Rzd2h7gqt04mEBQdzTWOHoYk9VMFvhVyIC/T6b+AXwHrnNANR9QZbdHE9zuyicVLJ7h yWLQ== 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 :content-transfer-encoding:in-reply-to; bh=hzrS9Kp43sPUgbGm130lEb7xWZNT5l2qh/E5jfpNsrQ=; b=BBi8nBPf7fqyuka4D2nnBR98ZwHPAiIeN80QvSGSEkz6/V8aACob5RrwEhNJvh9zEy K9qRciQFV9puTn99NxOd6eoeIDWJxZ0INV5JBGvHSDdQC7RXzRyw6yeBzVXgy5h12uaM Iv4EswRQ2lgewCHBYZwLof3VSgQoxk5ucvohxe8eqNrXK+Wz4WMLtgf8HATwQbl5D1ol qYw7TJWjHq+3USvTwjx3hSjs3MyfJOvrNeDuyfJ8QP9mzG3rtwnC3766efkmbQNyp+b/ IYX6Z5KW6PCpKT/RNZYzEDYOQ1ySa3iRfp7Z7l62LbcjRm0XEyh8sYX0uUizQiV0W3nc D3Rw== X-Gm-Message-State: ALyK8tLn4z8lTsR6dcqrdoSPTu/H+VD9lfEmGlbnUwdEUNsBg6AeVVpwN9+YEZVOVq3qrGio X-Received: by 10.194.67.39 with SMTP id k7mr16783699wjt.23.1467718505808; Tue, 05 Jul 2016 04:35:05 -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 w81sm2596770wmg.20.2016.07.05.04.35.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jul 2016 04:35:05 -0700 (PDT) Date: Tue, 5 Jul 2016 13:35:03 +0200 From: Adrien Mazarguil To: Jan Viktorin Cc: dev@dpdk.org Message-ID: <20160705113503.GK7621@6wind.com> Mail-Followup-To: Jan Viktorin , dev@dpdk.org References: <1459865290-10248-1-git-send-email-adrien.mazarguil@6wind.com> <20160705111523.5861459.30261.5810@rehivetech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160705111523.5861459.30261.5810@rehivetech.com> Subject: Re: [dpdk-dev] [PATCH v2 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jul 2016 11:35:06 -0000 Hi Jan, On Tue, Jul 05, 2016 at 01:15:23PM +0200, Jan Viktorin wrote: > Hi Adrien, > > I am the only one in CC and only in the 00/11 patch. Is it a mistake? Or what is the purpose? It was on purpose to draw your attention to my comment regarding #includes within extern "C" blocks. > Regards‎ > Jan Viktorin > RehiveTech > Sent from a mobile device >   Původní zpráva   > Od: Adrien Mazarguil > Odesláno: úterý, 5. července 2016 12:45 > Komu: dev@dpdk.org > Kopie: Jan Viktorin > Předmět: [PATCH v2 00/11] Fix build errors related to exported headers > > 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. > > Changes in v2: > > - Rebased on top of the current HEAD. > - Added script to check headers automatically (check-includes.sh), for both > C and C++ compilation. > - Updated test-build.sh to use it. > - Fixed consistency of new #include directives, now inside extern "C" > blocks for files that already do that (Jan, fixing these was too much > work for this patchset so I settled on this solution in the meantime). > - Updated headlines to address check-git-log.sh complaints. > > Adrien Mazarguil (11): > lib: work around braced-groups within expressions > lib: work around large enum values > lib: use C99 syntax for zero-size arrays > lib: work around nonstandard bit-fields > lib: work around structs with no members > lib: work around unnamed structs/unions > lib: add missing include dependencies > lib: work around forward reference to enum types > lib: remove named variadic macros in exported headers > lib: hide static functions never defined > scripts: check compilation of exported header files > > MAINTAINERS | 1 + > lib/librte_acl/rte_acl.h | 2 +- > lib/librte_cfgfile/rte_cfgfile.h | 2 + > lib/librte_cmdline/cmdline.h | 1 + > lib/librte_cmdline/cmdline_parse_portlist.h | 1 + > lib/librte_cmdline/cmdline_socket.h | 3 + > lib/librte_cryptodev/rte_crypto.h | 2 + > lib/librte_cryptodev/rte_crypto_sym.h | 3 + > lib/librte_cryptodev/rte_cryptodev.h | 40 ++- > lib/librte_cryptodev/rte_cryptodev_pmd.h | 6 +- > .../common/include/arch/arm/rte_byteorder.h | 2 + > .../common/include/arch/arm/rte_memcpy_32.h | 3 +- > .../common/include/arch/arm/rte_prefetch_32.h | 1 + > .../common/include/arch/arm/rte_prefetch_64.h | 1 + > .../common/include/arch/arm/rte_vect.h | 1 + > .../common/include/arch/ppc_64/rte_atomic.h | 1 + > .../common/include/arch/ppc_64/rte_byteorder.h | 1 + > .../common/include/arch/ppc_64/rte_cycles.h | 2 + > .../common/include/arch/ppc_64/rte_memcpy.h | 3 +- > .../common/include/arch/ppc_64/rte_prefetch.h | 1 + > .../common/include/arch/x86/rte_atomic.h | 2 + > .../common/include/arch/x86/rte_atomic_32.h | 9 + > .../common/include/arch/x86/rte_atomic_64.h | 8 + > .../common/include/arch/x86/rte_byteorder.h | 2 + > .../common/include/arch/x86/rte_byteorder_32.h | 7 + > .../common/include/arch/x86/rte_byteorder_64.h | 7 + > .../common/include/arch/x86/rte_cycles.h | 2 + > .../common/include/arch/x86/rte_memcpy.h | 4 +- > .../common/include/arch/x86/rte_prefetch.h | 1 + > .../common/include/arch/x86/rte_rtm.h | 1 + > .../common/include/arch/x86/rte_vect.h | 8 +- > .../common/include/generic/rte_atomic.h | 1 + > .../common/include/generic/rte_byteorder.h | 2 + > .../common/include/generic/rte_cpuflags.h | 3 + > .../common/include/generic/rte_memcpy.h | 4 + > lib/librte_eal/common/include/rte_common.h | 22 +- > lib/librte_eal/common/include/rte_devargs.h | 1 + > lib/librte_eal/common/include/rte_eal.h | 1 + > lib/librte_eal/common/include/rte_interrupts.h | 2 + > lib/librte_eal/common/include/rte_memory.h | 4 + > lib/librte_eal/common/include/rte_memzone.h | 2 + > lib/librte_eal/common/include/rte_time.h | 8 + > lib/librte_eal/common/include/rte_version.h | 1 + > .../eal/include/exec-env/rte_interrupts.h | 1 + > .../eal/include/exec-env/rte_kni_common.h | 6 +- > lib/librte_ether/rte_dev_info.h | 2 + > lib/librte_ether/rte_eth_ctrl.h | 4 + > lib/librte_ether/rte_ethdev.h | 4 + > lib/librte_hash/rte_fbk_hash.h | 2 +- > lib/librte_hash/rte_thash.h | 3 + > lib/librte_ip_frag/rte_ip_frag.h | 2 +- > lib/librte_lpm/rte_lpm.h | 7 +- > lib/librte_lpm/rte_lpm_neon.h | 1 + > lib/librte_lpm/rte_lpm_sse.h | 1 + > lib/librte_mbuf/rte_mbuf.h | 9 + > lib/librte_mempool/rte_mempool.h | 3 + > lib/librte_pdump/rte_pdump.h | 4 + > lib/librte_pipeline/rte_pipeline.h | 4 +- > lib/librte_reorder/rte_reorder.h | 2 + > lib/librte_ring/rte_ring.h | 2 +- > lib/librte_sched/rte_bitmap.h | 3 +- > lib/librte_sched/rte_reciprocal.h | 2 + > lib/librte_sched/rte_sched_common.h | 1 + > lib/librte_timer/rte_timer.h | 2 + > scripts/check-includes.sh | 286 +++++++++++++++++++ > scripts/test-build.sh | 14 + > 66 files changed, 511 insertions(+), 33 deletions(-) > create mode 100755 scripts/check-includes.sh > > -- > 2.1.4 > -- Adrien Mazarguil 6WIND