Moving double up with overlapped memory fails on i386
Original Reporter info from Mantis: Adriaan van Os
-
Reporter name: Adriaan van Os
Original Reporter info from Mantis: Adriaan van Os
- Reporter name: Adriaan van Os
Description:
The following program fails on i386
{$mode macpas}
program doublemove;
type
rec = record case boolean of
true: (i1: longint; d1: double);
false: (d2: double; i2: longint)
end;
var
d: double;
r: rec;
begin
d:= 3.14;
r.i2:= 0;
r.d2:= d;
r.d1:= r.d2;
if r.d1 <> d
then begin
writeln( 'r.d1 = ', r.d1, ' <> ', d);
halt( 1)
end;
r.i1:= 0;
r.d1:= d;
r.d2:= r.d1;
if r.d2 <> d
then begin
writeln( r.d2, ' <> ', d);
halt( 1)
end
end.
Mantis conversion info:
- Mantis ID: 15921
- OS: Mac OS X
- OS Build: 10.5.4
- Build: svn trunk r14949
- Platform: i386-apple-darwin
- Version: 2.5.1