[lkml]   [2001]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] More compile warning fixes for 2.4.0
Linus Torvalds writes:
> On Tue, 9 Jan 2001, Albert D. Cahalan wrote:

>> [about labels w/o statements after them]
>>>> Is this really a kernel bug? This is common idiom in C, so gcc
>>>> shouldn't warn about it. If it does, it is a bug in gcc IMHO.
>>> No, it is not a common idiom in C. It has _never_ been valid C.
>>> GCC originally allowed it due to a mistake in the grammar; we
>>> now warn for it. Fix your source.
>> Since neither -ansi nor -std=foo was specified, gcc should just
>> shut up and be happy. Consider this as another GNU extension.
> No, it was a gcc bug that gcc accepted the syntax in the first place.

Sure. I'd always thought it was intentional though.

> Let the gcc people fix the bugs they find without complaining about them.
> After all, gcc would have been perfectly correct in signalling this as a
> syntax error, and aborted compilation. The fact that gcc only warns about
> it is a sign of grace - it's not as if it is a _useful_ extension that
> gives the programmer anything new and should be left in for that reason.

It is slightly useful: appearance, ease-of-use, etc.

Code is partly for humans to read, and is often written by
humans too. The standard syntax has worthless ugly junk.
The extension doesn't break any valid K&R, C90, or C99 code.

Obviously, considering the kernel source, people _like_ this:

void foo(void){
if(bar()) goto out;

If it broke valid C99 code, then sure, it would have to go.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:22    [W:0.097 / U:2.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site