Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jan 2011 23:59:07 +0100
From:      Erik Cederstrand <erik@cederstrand.dk>
To:        Tijl Coosemans <tijl@coosemans.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: FYI: clang static analyzer page has moved to http://scan.freebsd.your.org/freebsd-head/
Message-ID:  <1EF28C3A-954D-4A4B-8069-F0E767EF3669@cederstrand.dk>
In-Reply-To: <201101062056.55807.tijl@coosemans.org>
References:  <20110105131439.GN23329@acme.spoerlein.net> <20110105193653.GA49285@stack.nl> <7FA66A47-CB15-4C22-8614-B58E986CFFA4@cederstrand.dk> <201101062056.55807.tijl@coosemans.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1EF28C3A-954D-4A4B-8069-F0E767EF3669>