Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 May 2018 21:42:52 -0700
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        Matthew Macy <mmacy@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r333860 - head/sys/kern
Message-ID:  <20180524044252.GW71675@FreeBSD.org>
In-Reply-To: <CAPrugNpsiYQ1MKkgGbkwPEeTcsTCdD_u5GAvYpMJKHzeSbCL=w@mail.gmail.com>
References:  <201805190510.w4J5AqfS054367@repo.freebsd.org> <20180523222743.GU71675@FreeBSD.org> <CAPrugNpKxEVx%2Bg0D6qUwq=yw_W-QeuntupwAjteK1yALkJktag@mail.gmail.com> <20180523225729.GV71675@FreeBSD.org> <CAPrugNpsiYQ1MKkgGbkwPEeTcsTCdD_u5GAvYpMJKHzeSbCL=w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Let me repeat again. The warning is a false positive, and thus assignment
isn't useful. I'm not worried about a single instruction, more about
polluting the code.

If the warning was escalated to build error, and we did carry about
building with gcc8, in this case the assignment should be added with
a comment /* pacify gcc */.

On Wed, May 23, 2018 at 03:59:33PM -0700, Matthew Macy wrote:
M> On Wed, May 23, 2018 at 3:57 PM, Gleb Smirnoff <glebius@freebsd.org> wrote:
M> > The initialization isn't useful.
M> 
M> It silences a gcc warning. So yes it is. It's this exchange which is not useful.
M> 
M> -M
M> 
M> 
M> > On Wed, May 23, 2018 at 03:52:42PM -0700, Matthew Macy wrote:
M> > M> Talk to the gcc devs. The warning is useful even if there are false positives.
M> > M>
M> > M> On Wed, May 23, 2018 at 3:27 PM, Gleb Smirnoff <glebius@freebsd.org> wrote:
M> > M> >   Hi,
M> > M> >
M> > M> > On Sat, May 19, 2018 at 05:10:52AM +0000, Matt Macy wrote:
M> > M> > M> Author: mmacy
M> > M> > M> Date: Sat May 19 05:10:51 2018
M> > M> > M> New Revision: 333860
M> > M> > M> URL: https://svnweb.freebsd.org/changeset/base/333860
M> > M> > M>
M> > M> > M> Log:
M> > M> > M>   sendfile: annotate unused value and ensure that npages is actually initialized
M> > M> > M>
M> > M> > M> Modified:
M> > M> > M>   head/sys/kern/kern_sendfile.c
M> > M> > M>
M> > M> > M> Modified: head/sys/kern/kern_sendfile.c
M> > M> > M> ==============================================================================
M> > M> > M> --- head/sys/kern/kern_sendfile.c    Sat May 19 05:09:10 2018        (r333859)
M> > M> > M> +++ head/sys/kern/kern_sendfile.c    Sat May 19 05:10:51 2018        (r333860)
M> > M> > M> @@ -341,7 +341,7 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, o
M> > M> > M>      }
M> > M> > M>
M> > M> > M>      for (int i = 0; i < npages;) {
M> > M> > M> -            int j, a, count, rv;
M> > M> > M> +            int j, a, count, rv __unused;
M> > M> > M>
M> > M> > M>              /* Skip valid pages. */
M> > M> > M>              if (vm_page_is_valid(pa[i], vmoff(i, off) & PAGE_MASK,
M> > M> > M> @@ -688,6 +688,7 @@ retry_space:
M> > M> > M>                      if (space == 0) {
M> > M> > M>                              sfio = NULL;
M> > M> > M>                              nios = 0;
M> > M> > M> +                            npages = 0;
M> > M> > M>                              goto prepend_header;
M> > M> > M>                      }
M> > M> > M>                      hdr_uio = NULL;
M> > M> >
M> > M> > This initialization is redundant and a compiler warning if exists is wrong.
M> > M> >
M> > M> > If we jump down to prepend_header with nios == 0, we won't ever use npages.
M> > M> >
M> > M> > --
M> > M> > Gleb Smirnoff
M> >
M> > --
M> > Gleb Smirnoff

-- 
Gleb Smirnoff



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180524044252.GW71675>