warning: right shift count >= width of type
Dale Johannesen
dalej@apple.com
Mon Nov 29 19:17:00 GMT 2004
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 ...
More information about the Gcc
mailing list