public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Krzysztof Halasa <khc@pm.waw.pl>
Cc: "Harvey Harrison" <harvey.harrison@gmail.com>,
	"Håkon Løvdal" <hlovdal@gmail.com>,
	"Hannes Eder" <hannes@hanneseder.net>,
	netdev@vger.kernel.org, kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 02/27] drivers/net: fix sparse warnings: make do-while a compound statement
Date: Tue, 23 Dec 2008 10:08:50 -0800 (PST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0812231008350.3535@localhost.localdomain> (raw)
In-Reply-To: <m3k59qssix.fsf@maximus.localdomain>


On Tue, 23 Dec 2008, Krzysztof Halasa wrote:

> Harvey Harrison <harvey.harrison@gmail.com> writes:
> 
> >> There are many ways to make the code more merge friendly at a cost of
> >> readability. Hope we don't go this way.
> >
> > Linus himself added that particular warning to sparse...may want to check
> > with him the reason for it.
> 
> Once again, this is a personal thing, and a harmless one.

It's more than that. I added the check after some person who had been 
programming the kernel (and thus was supposedly fluent in C) literally 
could not parse a macro that had "do x while (y)" in it.

Why? Because it's so uncommon, and because "while (y)" on its own means 
something totally different.

So the syntactic sugar to _always_ have do-while loops have that brace is 
a way to avoid one of the rather few places where the C language has 
syntax that is very context-dependent.

Another example of this is "sizeof". The kernel universally (I hope) has 
parenthesis around the sizeof argument, even though it's clearly not 
required by the C language. 

It's a coding standard. 

And quite frankly, anybody who works on gcc has no place complaining about 
sparse coding standard warnings. They are a _hell_ of a lot better than 
some of the really crazy warnings gcc spews out with "-W". At least the 
sparse warnings you can make go away while making the code more 
understandable. Some of the -W warnings are unfixable without breaking the 
source code.

		Linus

  reply	other threads:[~2008-12-23 18:09 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-22 19:14 [PATCH 00/27] drivers/net: fix sparse warnings Hannes Eder
2008-12-22 19:14 ` [PATCH 01/27] drivers/net: fix sparse warning: use ANSI-style function declaration Hannes Eder
2008-12-26  7:53   ` David Miller
2008-12-22 19:15 ` [PATCH 02/27] drivers/net: fix sparse warnings: make do-while a compound statement Hannes Eder
2008-12-22 22:14   ` Krzysztof Halasa
2008-12-22 23:44     ` Håkon Løvdal
2008-12-23 16:31       ` Krzysztof Halasa
2008-12-23 17:26         ` Harvey Harrison
2008-12-23 17:36           ` Krzysztof Halasa
2008-12-23 18:08             ` Linus Torvalds [this message]
2008-12-23 23:18               ` Krzysztof Halasa
2008-12-23 23:38                 ` Linus Torvalds
2008-12-24  2:03                   ` Krzysztof Halasa
2008-12-24  2:10                     ` Linus Torvalds
2008-12-25 17:02                       ` Krzysztof Halasa
2008-12-25  6:17                     ` Junio C Hamano
2008-12-29 14:35                   ` Hannes Eder
2008-12-26  7:55   ` David Miller
2008-12-22 19:15 ` [PATCH 03/27] drivers/net: fix sparse warning: returning void-valued expression Hannes Eder
2008-12-26  0:17   ` David Miller
2008-12-26 14:39     ` Hannes Eder
2008-12-26 19:59     ` Randy Dunlap
2008-12-27 19:11       ` Hannes Eder
2008-12-27 19:20         ` Sam Ravnborg
2008-12-27 21:38           ` [PATCH] Makefile: disable sparse warning "returning void-valued expression" Hannes Eder
2008-12-27 21:57             ` Sam Ravnborg
2008-12-26  7:56   ` [PATCH 03/27] drivers/net: fix sparse warning: returning void-valued expression David Miller
2008-12-22 19:15 ` [PATCH 04/27] drivers/net: fix sparse warnings: make symbols static Hannes Eder
2008-12-26  7:57   ` David Miller
2008-12-22 19:15 ` [PATCH 05/27] drivers/net/arcnet: " Hannes Eder
2008-12-26  7:57   ` David Miller
2008-12-22 19:15 ` [PATCH 06/27] drivers/net/atlx: " Hannes Eder
2008-12-26  7:58   ` David Miller
2008-12-22 19:15 ` [PATCH 07/27] drivers/net/bonding: fix sparse warnings: move decls to header file Hannes Eder
2008-12-26  7:59   ` David Miller
2008-12-22 19:16 ` [PATCH 08/27] drivers/net/cxgb3: comment out dead code Hannes Eder
2008-12-26  7:59   ` David Miller
2008-12-22 19:16 ` [PATCH 09/27] drivers/net/e1000e: fix sparse warnings: make symbols static Hannes Eder
2008-12-22 19:16 ` [PATCH 10/27] drivers/net/enic: fix sparse warning: make symbol static Hannes Eder
2008-12-26  8:01   ` David Miller
2008-12-22 19:16 ` [PATCH 11/27] drivers/net/igb: remove dead code (function 'igb_read_pci_cfg') Hannes Eder
2008-12-22 22:30   ` Jeff Kirsher
2008-12-26  8:03     ` David Miller
2008-12-22 19:16 ` [PATCH 12/27] drivers/net/irda: fix sparse warnings: make symbols static Hannes Eder
2008-12-26  8:03   ` David Miller
2008-12-22 19:16 ` [PATCH 13/27] drivers/net/ixgbe: " Hannes Eder
2008-12-26  8:04   ` David Miller
2008-12-22 19:16 ` [PATCH 14/27] drivers/net/netxen: fix sparse warnings: use NULL pointer instead of plain integer Hannes Eder
2008-12-26  8:04   ` David Miller
2008-12-22 19:17 ` [PATCH 15/27] drivers/net/qlge: fix sparse warnings: make symbols static Hannes Eder
2008-12-26  8:05   ` David Miller
2008-12-22 19:17 ` [PATCH 16/27] drivers/net/skfp: " Hannes Eder
2008-12-26  8:06   ` David Miller
2008-12-22 19:17 ` [PATCH 17/27] drivers/net/tokenring: " Hannes Eder
2008-12-26  8:07   ` David Miller
2008-12-22 19:17 ` [PATCH 18/27] drivers/net/tulip: fix sparse warnings: make do-while a compound statement Hannes Eder
2008-12-26  8:07   ` David Miller
2008-12-22 19:17 ` [PATCH 19/27] drivers/net/usb: fix sparse warnings: make symbols static Hannes Eder
2008-12-26  8:08   ` David Miller
2008-12-22 19:17 ` [PATCH 20/27] drivers/net/wan: fix sparse warnings: make do-while a compound statement Hannes Eder
2008-12-22 22:09   ` Krzysztof Halasa
2008-12-22 19:18 ` [PATCH 21/27] drivers/net/wan: fix sparse warning: make symbol static Hannes Eder
2008-12-26  8:11   ` David Miller
2008-12-22 19:18 ` [PATCH 22/27] drivers/net/wan/z85230.c: fix sparse warnings: un-EXPORT symbols Hannes Eder
2008-12-26  8:12   ` David Miller
2008-12-22 19:18 ` [PATCH 23/27] drivers/net/wireless: fix sparse warnings: make symbols static Hannes Eder
2008-12-26  8:13   ` David Miller
2008-12-22 19:18 ` [PATCH 24/27] drivers/net/wireless/ath9k: " Hannes Eder
2008-12-22 19:18 ` [PATCH 25/27] drivers/net/wireless/b43: " Hannes Eder
2008-12-26  8:13   ` David Miller
2008-12-22 19:18 ` [PATCH 26/27] drivers/net/wireless/ipw2x00: " Hannes Eder
2008-12-26  8:14   ` David Miller
2008-12-22 19:19 ` [PATCH 27/27] drivers/net/wireless/prism54: " Hannes Eder
2008-12-26  8:15   ` David Miller

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=alpine.LFD.2.00.0812231008350.3535@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=hannes@hanneseder.net \
    --cc=harvey.harrison@gmail.com \
    --cc=hlovdal@gmail.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=khc@pm.waw.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox