From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH] net/virtio: fix build with gcc optimization on Date: Wed, 4 Jul 2018 10:52:18 +0100 Message-ID: References: <20180704105625.39462-1-yong.liu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, tiwei.bie@intel.com To: Marvin Liu , maxime.coquelin@redhat.com Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 781701BE58 for ; Wed, 4 Jul 2018 11:52:20 +0200 (CEST) In-Reply-To: <20180704105625.39462-1-yong.liu@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 7/4/2018 11:56 AM, Marvin Liu wrote: > build error on gcc version 8.1.1 20180502 (Red Hat 8.1.1-1), > with optimization level >= O2 > > .../drivers/net/virtio/virtio_rxtx.c: > In function ‘virtio_xmit_cleanup_inorder’: > .../drivers/net/virtio/virtio_rxtx.c:195:24: > error: ‘desc_idx’ may be used uninitialized in this function > [-Werror=maybe-uninitialized] > uint16_t i, used_idx, desc_idx, last_idx; > ^~~~~~~~ > Optimization option fcode-hoisting will cause error on gcc 8.x.x. > Initialize desc_idx before using can fix build error. > > Fixes: e3851816e63c ("net/virtio: support in-order Rx and Tx") > > Reported-by: Ferruh Yigit > Signed-off-by: Marvin Liu Hi Marvin, Sorry if this was not clear, I already did the update while merging the patch in next-net [1]. Can you please check the latest code in next-net? [1] ... 193 virtio_xmit_cleanup_inorder(struct virtqueue *vq, uint16_t num) 194 { 195 uint16_t i, used_idx, desc_idx = 0, last_idx; ... > > diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c > index 6394071b8..19beb4bf4 100644 > --- a/drivers/net/virtio/virtio_rxtx.c > +++ b/drivers/net/virtio/virtio_rxtx.c > @@ -192,7 +192,8 @@ virtio_xmit_cleanup(struct virtqueue *vq, uint16_t num) > static void > virtio_xmit_cleanup_inorder(struct virtqueue *vq, uint16_t num) > { > - uint16_t i, used_idx, desc_idx, last_idx; > + uint16_t i, used_idx, last_idx; > + uint16_t desc_idx = 0; > int16_t free_cnt = 0; > struct vq_desc_extra *dxp = NULL; > >