Messages in this thread | | | Date | Thu, 01 May 2008 14:27:31 -0700 (PDT) | Subject | Re: [PATCH 09/10] misc: fix returning void-valued expression warnings | From | David Miller <> |
| |
From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Thu, 01 May 2008 14:17:06 +0200
> On Thu, 2008-05-01 at 13:00 +0100, Al Viro wrote: > > On Thu, May 01, 2008 at 02:43:50PM +0300, Boaz Harrosh wrote: > > > > > I don't know who invented sparse, but I like this form of return. > > > 1 - It saves me the curly brackets and extra return line. But mainly > > > 2 - It is a programing statement that says: "Me here I'm an equivalent > > > to that other call". So if in the future that inner function starts > > > to return, say, an error value, with the first style the compiler will > > > error. But with the second style the new error return will be silently > > > ignored. So these are not equivalent replacements. The former is a much > > > stronger bond between the caller and the callie. > > > > 3. 6.8.6.4(1): A return statement with an expression shall not appear in > > a function whose return type is void. > > > > Write in C, please. > > We use GNU99 all over the place, or are you going to clear up all the > statement expressions and such other fancy gnu extensions to the > language as well? > > I'm really not seeing why this would be wrong, other than the standard > saying it is, ie. I think the standard got it wrong here. > > Harvey can just use -Wno-return-void, or someone can modify sparse to > have that default disabled for STANDARD_GNU[89]9.
Even Linus thinks this construct is fine and said he had a patch to make sparse allow it. This discussion is pointless especially since GCC has allowed this since basically day one, and it's even self consistent.
| |