Re: CVS commit: src/lib/libarch/alpha
On Thu, 22 Mar 2012, Havard Eidnes wrote: Modified Files: src/lib/libarch/alpha: alpha_pci_io.c Log Message: Add a cast of the shift count to int32_t, so that we don't try to do int32_t long, since ANSI C doesn't perform balancing before the shift operation according to lint. Should not make a difference, offset is limited to 0..3 anyway. I don't know what balancing means, but this seems bogus to me. The type of the right hand operand of the operator is irrelevant; only its value is important. (See sectiopn 6.5.7 of the C99 standard.) I think it's fine to add casts that are not really nbecessary, if they improve the readability or portability of the code. The cast here does not do that, and I think it should not be added. --apb (Alan Barrett)
Re: CVS commit: src/lib/libarch/alpha
In article 20120322100642.ga1...@apb-laptoy.apb.alt.za, Alan Barrett a...@cequrux.com wrote: I don't know what balancing means, but this seems bogus to me. The type of the right hand operand of the operator is irrelevant; only its value is important. (See sectiopn 6.5.7 of the C99 standard.) Balancing means that in KR c the type of the result of the shift operation was the wider of the types of the two shift operands. christos
Re: CVS commit: src/lib/libarch/alpha
On Thu, Mar 22, 2012 at 02:51:08PM +0100, Havard Eidnes wrote: IMHO, as long as lint is capable of helping us spot actual problems, adding a few of these sorts of constrcucts seems like a small price to pay. It doesn't. From what I see, the signal to noise ratio of lint is completely inacceptable and for that very reason, uglifying the code with questionable constructs is not acceptable. Even worse, changing code for undefined/misdefined behavior of KR (!) is simply wrong. ISO C90 is now 22 years old. Traditional C is irrelevant. Joerg
Re: CVS commit: src/lib/libarch/alpha
On Mar 22, 2012, at 8:43 AM, Joerg Sonnenberger wrote: On Thu, Mar 22, 2012 at 02:51:08PM +0100, Havard Eidnes wrote: IMHO, as long as lint is capable of helping us spot actual problems, adding a few of these sorts of constrcucts seems like a small price to pay. It doesn't. From what I see, the signal to noise ratio of lint is completely inacceptable and for that very reason, uglifying the code with questionable constructs is not acceptable. Even worse, changing code for undefined/misdefined behavior of KR (!) is simply wrong. ISO C90 is now 22 years old. Traditional C is irrelevant. When was the last time that NetBSD could be compiled with a KR compiler? 1995? Warner