This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: warning: right shift count >= width of type


Dave Korn wrote:

-----Original Message-----
From: Chris Jefferson Sent: 29 November 2004 17:13





So my question is really "Given that it's undefined, which

means that


whatever the compiler does is correct, and given that

there's already code


in there to detect the situation and issue a warning, which

probably means


that it would be very easy at such a point to replace the

offending RTL with


(const_int 0), is there any specific reason why not to?"



One reason (of course) not to would be if you are bit-shifting by a variable. Adding a check at runtime to see if the value of this variable is <32 and if not setting the variable to zero would be frowned upon by many people, particuarily because the kind of people who undertake bitshifting are doing it for performance-related reasons...

Chris



What on earth made you suppose I would for one instant suggest anything so ridiculous? I was talking about static compile-time checking.



I apologise. Then I would instead ask why you would want to add some compiler-specific extension that may or may not activate depending upon the current level of optimisation? Or would you forbid this optimisation if gcc can deduce an expression is constant when it isn't obvious without optimisation?

Chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]