From owner-svn-src-head@FreeBSD.ORG Tue Oct 9 23:08:12 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7AB3B4FC; Tue, 9 Oct 2012 23:08:12 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by mx1.freebsd.org (Postfix) with ESMTP id 308938FC0A; Tue, 9 Oct 2012 23:08:12 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.5/8.14.5) with ESMTP id q99N8Bo1068392; Tue, 9 Oct 2012 16:08:11 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.5/8.14.5/Submit) id q99N8BBI068391; Tue, 9 Oct 2012 16:08:11 -0700 (PDT) (envelope-from sgk) Date: Tue, 9 Oct 2012 16:08:11 -0700 From: Steve Kargl To: Eitan Adler Subject: Re: svn commit: r241373 - head/lib/libc/stdlib Message-ID: <20121009230811.GA68376@troutmask.apl.washington.edu> References: <201210091425.q99EPFS6020787@svn.freebsd.org> <507451DE.9060909@freebsd.org> <50746BF8.5010307@freebsd.org> <20121009212538.GA67848@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, theraven@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andrey Chernov X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Oct 2012 23:08:12 -0000 On Tue, Oct 09, 2012 at 06:06:55PM -0400, Eitan Adler wrote: > On 9 October 2012 17:25, Steve Kargl wrote: > > ... yes, I was misreading the text. > > > Clang has no way of determining if 'a' is initialized or not. > > If David is correct that 'junk' is optimized out by clang/llvm, > > then it seems that clang violates footnote 116. Yes, I know > > it is non-normative text. > > Sorry if I was not clear: clang does *not* optimize away the volatile > version. I removed it for other reasons. OK, but clang still has a bug. Clang should not issue a warning that "'a' is uninitialized" because 'a' is volatile and clang has no way of knowning whether 'a' has been initialized by some other means. At most, clang can state "'a' may be uninitialized". -- Steve