Messages in this thread |  | | From | "Albert D. Cahalan" <> | Subject | Re: [PATCH] More compile warning fixes for 2.4.0 | Date | Tue, 9 Jan 2001 16:24:38 -0500 (EST) |
| |
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; baz(); 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 majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |