From owner-freebsd-current@FreeBSD.ORG Thu Jan 6 22:59:09 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66031106566B for ; Thu, 6 Jan 2011 22:59:09 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from csmtp1.one.com (csmtp1.one.com [195.47.247.21]) by mx1.freebsd.org (Postfix) with ESMTP id F34468FC14 for ; Thu, 6 Jan 2011 22:59:08 +0000 (UTC) Received: from macfeast.lan (0x573b9942.cpe.ge-1-2-0-1101.ronqu1.customer.tele.dk [87.59.153.66]) by csmtp1.one.com (Postfix) with ESMTP id A6E5D1BC006BA; Thu, 6 Jan 2011 22:59:07 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: multipart/signed; boundary=Apple-Mail-216-367451071; protocol="application/pkcs7-signature"; micalg=sha1 From: Erik Cederstrand In-Reply-To: <201101062056.55807.tijl@coosemans.org> Date: Thu, 6 Jan 2011 23:59:07 +0100 Message-Id: <1EF28C3A-954D-4A4B-8069-F0E767EF3669@cederstrand.dk> References: <20110105131439.GN23329@acme.spoerlein.net> <20110105193653.GA49285@stack.nl> <7FA66A47-CB15-4C22-8614-B58E986CFFA4@cederstrand.dk> <201101062056.55807.tijl@coosemans.org> To: Tijl Coosemans X-Mailer: Apple Mail (2.1082) X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-current@freebsd.org Subject: Re: FYI: clang static analyzer page has moved to http://scan.freebsd.your.org/freebsd-head/ X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Jan 2011 22:59:09 -0000 --Apple-Mail-216-367451071 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Den 06/01/2011 kl. 20.56 skrev Tijl Coosemans: > On Thursday 06 January 2011 09:01:09 Erik Cederstrand wrote: >> Den 05/01/2011 kl. 20.36 skrev Jilles Tjoelker: >>> On Wed, Jan 05, 2011 at 05:55:45PM +0100, Ulrich Sp=F6rlein wrote: >>>> - get IPA to work with clang, or at least file a bug >>>> - mark functions as __dead2 (please don't do that) >>>=20 >>> Why not? >>=20 >> Because the analyzer is supposed to find bugs. Only the function that >> really doesn't return should be marked as such. If we begin spewing >> __dead2's everywhere, it's bound to silence a valid bug somewhere >> down the line when e.g. a conditional in a print_help() function is >> changed subtly so it doesn't always reach exit(). >=20 > On the other hand you can't really expect the compiler/analyser to = know > what a procedure in another file does, so in that case you need = __dead2 > anyway. [...] I have high expectations of LLVM :-) LLVM already has some knowledge of = what's going on in other files (see LTO) so why shouldn't it be able to = detect the __noreturn__ ? All the necessary information should be = readily available. Erik= --Apple-Mail-216-367451071--