mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-21 12:59:27 +01:00
* corrected fix for endian differences in tcginnode
This commit is contained in:
parent
ae88588462
commit
25435fe881
@ -595,10 +595,11 @@ implementation
|
|||||||
else if left.nodetype=ordconstn then
|
else if left.nodetype=ordconstn then
|
||||||
begin
|
begin
|
||||||
{ use location.register as scratch register here }
|
{ use location.register as scratch register here }
|
||||||
inc(right.location.reference.offset,tordconstnode(left).value shr 3);
|
if (source_info.endian = target_info.endian) then
|
||||||
|
inc(right.location.reference.offset,tordconstnode(left).value shr 3)
|
||||||
|
else
|
||||||
{ adjust for endianess differences }
|
{ adjust for endianess differences }
|
||||||
if (source_info.endian <> target_info.endian) then
|
inc(right.location.reference.offset,(tordconstnode(left).value shr 3) xor 3);
|
||||||
right.location.reference.offset := right.location.reference.offset xor 3;
|
|
||||||
cg.a_load_ref_reg(exprasmlist, OS_8, right.location.reference, location.register);
|
cg.a_load_ref_reg(exprasmlist, OS_8, right.location.reference, location.register);
|
||||||
location_release(exprasmlist,right.location);
|
location_release(exprasmlist,right.location);
|
||||||
cg.a_op_const_reg(exprasmlist,OP_SHR, tordconstnode(left).value and 7,
|
cg.a_op_const_reg(exprasmlist,OP_SHR, tordconstnode(left).value and 7,
|
||||||
@ -1124,7 +1125,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.33 2003-05-17 19:17:35 jonas
|
Revision 1.34 2003-05-23 19:52:28 jonas
|
||||||
|
* corrected fix for endian differences in tcginnode
|
||||||
|
|
||||||
|
Revision 1.33 2003/05/17 19:17:35 jonas
|
||||||
* fixed size setting of result location of innodes
|
* fixed size setting of result location of innodes
|
||||||
|
|
||||||
Revision 1.32 2003/05/01 12:26:50 jonas
|
Revision 1.32 2003/05/01 12:26:50 jonas
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user