Re: CVS commit: src/lib/libarch/alpha

2012-03-22 Thread Alan Barrett

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

2012-03-22 Thread Christos Zoulas
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

2012-03-22 Thread Joerg Sonnenberger
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

2012-03-22 Thread Warner Losh

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