From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Jing D" Subject: Re: [PATCH v3] net: fix build error with clang Date: Tue, 27 Sep 2016 17:24:35 +0000 Message-ID: <4341B239C0EFF9468EE453F9E9F4604D3A384822@shsmsx102.ccr.corp.intel.com> References: <1474611309-20325-1-git-send-email-yuanhan.liu@linux.intel.com> <1474864153-11847-1-git-send-email-yuanhan.liu@linux.intel.com> <20160927121951.GP25823@yliu-dev.sh.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: Jerin Jacob , "Liang, Cunming" , "Richardson, Bruce" , Thomas Monjalon To: Yuanhan Liu , "dev@dpdk.org" Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 46E722A6C for ; Tue, 27 Sep 2016 19:24:42 +0200 (CEST) In-Reply-To: <20160927121951.GP25823@yliu-dev.sh.intel.com> Content-Language: en-US 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" Hi,=20 > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] > Sent: Tuesday, September 27, 2016 5:20 AM > To: dev@dpdk.org > Cc: Jerin Jacob ; Chen, Jing D > ; Liang, Cunming ; > Richardson, Bruce ; Thomas Monjalon > > Subject: Re: [PATCH v3] net: fix build error with clang >=20 > Can any PMD guys review it? It blocks a virtio patchset apply... >=20 > Thanks. >=20 > --yliu >=20 > On Mon, Sep 26, 2016 at 12:29:13PM +0800, Yuanhan Liu wrote: > > Interestingly, clang and gcc has different prototype for _mm_prefetch()= . > > For gcc, we have > > > > _mm_prefetch (const void *__P, enum _mm_hint __I) > > > > While for clang, it's > > > > #define _mm_prefetch(a, sel) (__builtin_prefetch((void *)(a), 0, > > (sel))) > > > > That's how the following error comes with clang: > > > > error: cast from 'const void *' to 'void *' drops const qualifier > > [-Werror,-Wcast-qual] > > _mm_prefetch((const void *)rused, _MM_HINT_T0); > > /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/xmmintrin.h:684:58: > > note: expanded from macro '_mm_prefetch' > > #define _mm_prefetch(a, sel) (__builtin_prefetch((void *)(a= ), > > 0, (sel))) > > > > What's weird is that the build was actaully Okay before. I met it > > while apply Jerin's vector support for ARM patch set: he just move > > this peiece of code to another file, nothing else changed. > > > > This patch fix the issue when Jerin's patchset is applied. Thus, I > > think it's still needed. > > > > Similarly, make the same change to other _mm_prefetch users, just in > > case this weird issue shows up again somehow later. > > > > Fixes: fc3d66212fed ("virtio: add vector Rx") > > Fixes: c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx") > > Fixes: 9ed94e5bb04e ("i40e: add vector Rx") > > Fixes: 7092be8437bd ("fm10k: add vector Rx") > > > > Cc: Jerin Jacob > > Cc: Chen Jing D(Mark) > > Cc: Cunming Liang > > Cc: Bruce Richardson > > CC: Thomas Monjalon > > Signed-off-by: Yuanhan Liu Acked-by: Jing Chen