[fpc-devel] bitwise shift oddity a << b
lazarus at mfriebe.de
Tue May 19 13:17:19 CEST 2015
On 19/05/2015 11:03, Adriaan van Os wrote:
>> the cpu, so if you want to guarantee consistent behaviour on all
>> platforms, you can no longer just emit a shift left/right instruction
>> and have to add all kinds of checks.
>> Maybe we should support emitting range checks for the right operand
>> though (to give an error if it falls outside the range of shift
>> values whose behaviour is defined).
> The right operand of a bitwise shift is a count, a real-world number
> of bits. A negative number doesn' t make sense and must regarded as an
> error. So yes, emitting range checking is the right idea. We should do
> better in Pascal than in C .....
True, if range checks are enabled, otherwise see my other mail
More information about the fpc-devel