diff --git a/compiler/cg64f32.pas b/compiler/cg64f32.pas index ff6faa5e2a..85f77e102b 100644 --- a/compiler/cg64f32.pas +++ b/compiler/cg64f32.pas @@ -562,10 +562,14 @@ unit cg64f32; { simple cardinal } cg.a_label(list,poslabel); hdef:=torddef.create(u32bit,0,cardinal($ffffffff)); - { no use in calling just "g_rangecheck" since that one will } - { simply call the inherited method too (JM) } + location_copy(temploc,l); temploc.size:=OS_32; + + if (temploc.loc in [LOC_REFERENCE,LOC_CREFERENCE]) and + (target_info.endian = endian_big) then + inc(temploc.reference.offset,4); + cg.g_rangecheck(list,temploc,hdef,todef); hdef.free; @@ -761,7 +765,10 @@ begin end. { $Log$ - Revision 1.54 2003-12-06 01:15:22 florian + Revision 1.55 2003-12-07 15:00:45 jonas + * fixed g_rangecheck64 so it works again for big endian + + Revision 1.54 2003/12/06 01:15:22 florian * reverted Peter's alloctemp patch; hopefully properly Revision 1.53 2003/12/03 23:13:19 peter