fpc/tests/webtbs/tw0976.pp
2002-09-07 15:40:30 +00:00

42 lines
719 B
ObjectPascal

{ Source provided for Free Pascal Bug Report 976 }
{ Submitted by }
{ e-mail: }
Program Test_Me;
type PDouble = ^Double;
var A, B: PDouble;
x: Double;
Operator + (x: Double; A: PDouble) B: Double;
begin
B := x + A^;
end;
{ This was wrong because B value is not initialized !!
Operator + (x: Single; A: PDouble) B: PDouble;
begin
B^ := x + A^;
end; }
begin
new (A);
new (B);
x := 0.5;
A^ := x;
{--- Addition "Double + Double": OK}
B^ := x + A^;
writeln (B^:4:2);
if B^<>1.0 then
Halt(1);
{---Identical error messages for addition "PDouble + Double" and "Double + PDouble"}
{---in spite of overloaded + operator}
// B := A + x;
B^ := x + A;
writeln (B^:4:2);
if B^<>1.0 then
Halt(1);
end.