[fpc-devel] Fix for SwapEndian
jonas.maebe at elis.ugent.be
Tue Apr 29 18:26:45 CEST 2008
On 29 Apr 2008, at 17:00, Michael Schnell wrote:
>>> I think shr is supposed to work sign-extending with signed types.
>> The above statement may cause some confusion, so people who think
>> that "shr" means "shift arithmetic right", please read the comment
>> added tohttp://bugs.freepascal.org/view.php?id=10545
> OOPs !?!?!?!
> They say: "SHR is /always/ unsigned in TP/FPC/Delphi."
> This would mean that the patch the OP mentioned should not be
No, it doesn't. The reason is explained in the comment.
> The stuff about first converting and then shifting seems quite queer
> (unless the types left and right are different which imposes queer
> behavior in C, too).
In Pascal, calculations are usually performed using the native integer
type, regardless of the left and right types (there are some
exceptions, but not many). That is not true for C.
More information about the fpc-devel