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: Thu, 8 Sep 2016 14:39:53 +0200 Message-ID: <20160908123953.GJ17252@6wind.com> References: <1730769.nrCndssr6G@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Thomas Monjalon Return-path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 3F156376C for ; Thu, 8 Sep 2016 14:39:59 +0200 (CEST) Received: by mail-wm0-f46.google.com with SMTP id w12so33176825wmf.0 for ; Thu, 08 Sep 2016 05:39:59 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1730769.nrCndssr6G@xps13> 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 Tue, Aug 23, 2016 at 06:36:57PM +0200, Thomas Monjalon wrote: > After rebasing the patchset, the compilation of each patch seems good. > But the new checks fail with clang: > rte_memcpy.h:814:2: error: > implicit declaration of function '_mm_alignr_epi8' is invalid in C99 This is an unfortunate false positive. mmintrin.h and other x86 intrinsics headers files define their macros and types only if compiled with the right -march or CPU flags options. check-includes.sh does not provide any of those and relies on whatever the C compiler falls back to by default. The problem is actually that we haven't implemented any fallback in DPDK for such cases. In the meantime it can be worked around like this: EXTRA_CFLAGS=-march=core2 EXTRA_CXXFLAGS=-march=core2 ./scripts/check-includes.sh > Other comments about the script: > - it is too long (can it be parallelized?) > - it does not stop printing errors after the first one Addressing these concerns would require a complete redesign of that script as a Makefile, and even then it would most likely end up taking too long when there are no errors (all headers end up being checked). I've removed it from test-build.sh, people will have to run it manually like check-git-log.sh, updated v5 accordingly. -- Adrien Mazarguil 6WIND