From: Josh Triplett <josh@joshtriplett.org>
To: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Linux Torvalds <torvalds@linux-foundation.org>,
Johannes Berg <johannes@sipsolutions.net>,
Pekka J Enberg <penberg@cs.helsinki.fi>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-sparse@vger.kernel.org
Subject: Re: [PATCH] kmemcheck: fix sparse warning
Date: Wed, 8 Jul 2009 23:29:08 -0700 [thread overview]
Message-ID: <20090709062906.GA14804@feather> (raw)
In-Reply-To: <19f34abd0907081228p541d1cdao85f37aaa479fcfc5@mail.gmail.com>
[Adding Linus and Chris Li to CC; Linus for further background on
-Wdo-while, and Chris Li for Sparse.]
On Wed, Jul 08, 2009 at 09:28:24PM +0200, Vegard Nossum wrote:
> 2009/7/6 Johannes Berg <johannes@sipsolutions.net>:
> > Whether or not the sparse warning
> >
> > warning: do-while statement is not a compound statement
> >
> > is justified or not in this case, it is annoying and
> > trivial to fix.
[...]
>
> I'll change the patch title to "kmemcheck: work around bogus sparse
> warning" and fix the indentation, sounds ok?
>
> Meanwhile, I Cced sparse mailing list in case somebody else knows
> anything else about this warning (what it means, whether it's
> justified in this case, whether it should be fixed in sparse, etc.).
-Wdo-while gives a warning if you write:
do
statement
while (...);
where "statement" does not consist of a compound statement surrounded by
braces. As far as I know, this warning exists primarily because it
matched Linus's preference for readability.
However, note that Sparse does not have -Wdo-while enabled by default.
Sparse only issues that warning if you use -Wdo-while explicitly, or if
you pass -Wall. (The latter often happens due to passing the same
warning flags to GCC and Sparse, without using cgcc which filters out
-Wall for Sparse for that reason.)
Much discussion has occurred previously suggesting that Sparse's -Wall
should match GCC's "all useful warnings" rather than "all possible
warnings", and some other option should exist for "all possible
warnings" (for instance, -Weverything). This seems very reasonable.
Given that Sparse *exists* to give warnings, -Wall's "all useful
warnings" approach seems like it matches Sparse's default behavior;
thus, I think it would make the most sense to make Sparse just interpret
-Wall as "enable all the warnings enabled by default" (which would
normally act as a no-op, but would make a difference if you passed
"-Wno-foo -Wall" for some default warning foo).
This would improve Sparse's behavior for the case where you invoke
sparse $(CFLAGS) directly rather than setting CC=cgcc, if CFLAGS
contains -Wall.
- Josh Triplett
next prev parent reply other threads:[~2009-07-09 6:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-06 9:53 [PATCH] kmemcheck: fix sparse warning Johannes Berg
2009-07-06 17:15 ` Pekka Enberg
2009-07-08 19:28 ` Vegard Nossum
2009-07-08 19:28 ` Vegard Nossum
2009-07-08 19:39 ` Johannes Berg
2009-07-08 20:28 ` Christopher Li
2009-07-09 6:29 ` Josh Triplett [this message]
2009-07-09 7:00 ` Hannes Eder
2009-07-09 7:00 ` Hannes Eder
2009-07-09 9:48 ` Bernd Petrovitsch
2009-07-29 13:42 ` Johannes Berg
2009-08-01 15:17 ` Pekka Enberg
2009-08-06 12:36 ` Raja R Harinath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090709062906.GA14804@feather \
--to=josh@joshtriplett.org \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sparse@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=torvalds@linux-foundation.org \
--cc=vegard.nossum@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.