Date: Sun, 12 May 2013 23:53:16 -0700 From: Peter Wemm <peter@wemm.org> To: Alan Cox <alc@rice.edu> Cc: Alan Cox <alc@freebsd.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andrey Chernov <ache@freebsd.org> Subject: Re: svn commit: r250577 - head/sys/vm Message-ID: <CAGE5yCpEmwp73kdjFCg3PF-2d06WgCORNGLiwLiMKvqKmKPCDg@mail.gmail.com> In-Reply-To: <51900E57.80608@rice.edu> References: <201305121650.r4CGoJL0087149@svn.freebsd.org> <51900B97.20406@freebsd.org> <51900E57.80608@rice.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 12, 2013 at 2:49 PM, Alan Cox <alc@rice.edu> wrote:
> On 05/12/2013 16:37, Andrey Chernov wrote:
>> On 12.05.2013 20:50, Alan Cox wrote:
>>
>> GNU cc errors related to part of diff below:
>> cc1: warnings being treated as errors
>> ../../../vm/vm_page.c: In function 'vm_page_alloc':
>> ../../../vm/vm_page.c:1209: warning: 'mpred' may be used uninitialized
>> in this function
>> *** [vm_page.o] Error code 1
>> Formally yes, mpred here can be left unitialized.
>
> No, it can't. The code amounts to
>
> if ("x")
> mpred = ... ;
> ...
> if ("x")
> use mpred;
> ...
> if ("x")
> use mpred;
>
> where "x" is "object != NULL". Moreover, there are no assignments to
> the variable "object" or aliases by which the variable "object" can be
> modified over the lifespan of "mpred". So, this is flawed analysis by
> our antique gcc.
Regardless of who's right or wrong, you've broken about half the
freebsd.org cluster. It uses a mixture of gcc and clang to catch
sillyness like this.
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGE5yCpEmwp73kdjFCg3PF-2d06WgCORNGLiwLiMKvqKmKPCDg>
