Trigraph warnings when compiling linux-2.4.0-prerelease1

Joe Buck jbuck@racerx.synopsys.com
Tue Jan 2 09:18:00 GMT 2001


> >> line 929: 	printk("imm: parity error (???)\n");
> >> line 938: 	printk("imm: bad interrupt (???)\n");
> >
> >This is a kernel bug.  That is, a strict ISO C compiler
> >must print
> >
> >imm: bad interrupt (?]
> 
> This is NOT a kernel bug.

Well, at least, it's not a serious one.  And if you want to claim that
the kernel is not written in C, but rather in a language dialect called,
say, gcc258, it's not a bug.
 
> Get your facts straight before you start acting like a language lawyer.

It's more important to alert users that their code may malfunction if
they compile it with a different compiler than to produce a warning-free
compile of the Linux kernel.  It's a tradeoff.  The kernel is only one
program.

If we suddenly refused to compile the code, or changed documented behavior
of the output code, you would have a complaint.  Since we don't, either
fix your code or live with the warning.  The fix is trivial.  But we
reserve the right to add new warnings from time to time.  My personal view
is that the compiler should not emit a warning if that warning cannot be
silenced by the user without making the code worse, even if some style
guru recommends it.  That's because such a warning leads people to make
worse code.  But that doesn't apply in this circumstance.  We SHOULD warn
for non-portable constructs, and this is one.  Otherwise we'll get bug
reports later.

As for the rest of your insults, I've deleted them.  BTW, Linus, you sent
this message twice, once just to me, so you're seeing two replies.  If you
feel the need to insult me further, please use private mail, as personal
abuse is not acceptable conduct on the gcc development list.




More information about the Gcc mailing list