* fixed (harmless) range error in cross-endian crosscompiling code for

parsing constant sets

git-svn-id: trunk@13785 -
This commit is contained in:
Jonas Maebe 2009-10-01 12:08:30 +00:00
parent 1ea6307a78
commit 606b7f4f80

View File

@ -441,10 +441,12 @@ implementation
else
begin
location.value:=swapendian(Pcardinal(value_set)^);
location.value:= reverse_byte (location.value and $ff) or
(reverse_byte((location.value shr 8) and $ff) shl 8) or
(reverse_byte((location.value shr 16) and $ff) shl 16) or
(reverse_byte((location.value shr 24) and $ff) shl 24);
location.value:=aint(
reverse_byte (location.value and $ff) or
(reverse_byte((location.value shr 8) and $ff) shl 8) or
(reverse_byte((location.value shr 16) and $ff) shl 16) or
(reverse_byte((location.value shr 24) and $ff) shl 24)
);
end;
if (target_info.endian=endian_big) then
location.value:=location.value shr (32-resultdef.size*8);