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



On Nov 29, 2004, at 10:51 AM, Andrew Haley wrote:
I myself would want "(n >> 32)" to produce the same result as "((n >> 16)
16)" and indeed "for (int i = 32; i > 0; i--, n >>= 1) ;", and it seems
to be generally agreed that the compiler would be at liberty to so do if it
wants to.

But you could never depend on it. If it only works when the shift count is a constant, a failure to do constant folding would break it.

Or constant propagation, or inlining, or ...



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