fpc/tests/test/cg/tcalcon1.pp
2005-03-26 13:13:36 +00:00

159 lines
1.7 KiB
ObjectPascal

{ %cpu=powerpc }
{ %target=darwin,macos}
type
tr1 = record
b: byte;
end;
tr2 = record
l: longint;
end;
tr3 = record
i: int64;
end;
tr4 = record
s: string;
end;
var
r1: tr1;
r2: tr2;
r3: tr3;
r4: tr4;
procedure p1normal(const r: tr1);
begin
if @r = @r1 then
halt(1);
end;
procedure p2normal(const r: tr2);
begin
if @r = @r2 then
halt(1);
end;
procedure p3normal(const r: tr3);
begin
if @r = @r3 then
halt(1);
end;
procedure p4normal(const r: tr4);
begin
if @r <> @r4 then
halt(1);
end;
procedure p1normal2(r: tr1);
begin
if @r = @r1 then
halt(1);
end;
procedure p2normal2(r: tr2);
begin
if @r = @r2 then
halt(1);
end;
procedure p3normal2(r: tr3);
begin
if @r = @r3 then
halt(1);
end;
procedure p4normal2(r: tr4);
begin
if @r = @r4 then
halt(1);
end;
procedure p1mw(const r: tr1); mwpascal;
begin
if @r <> @r1 then
halt(1);
end;
procedure p2mw(const r: tr2);mwpascal;
begin
if @r <> @r2 then
halt(1);
end;
procedure p3mw(const r: tr3);mwpascal;
begin
if @r <> @r3 then
halt(1);
end;
procedure p4mw(const r: tr4);mwpascal;
begin
if @r <> @r4 then
halt(1);
end;
procedure p1mw2(r: tr1); mwpascal;
begin
if @r = @r1 then
halt(1);
end;
procedure p2mw2(r: tr2);mwpascal;
begin
if @r = @r2 then
halt(1);
end;
procedure p3mw2(r: tr3);mwpascal;
begin
if @r = @r3 then
halt(1);
end;
procedure p4mw2(r: tr4);mwpascal;
begin
if @r = @r4 then
halt(1);
end;
begin
p1normal(r1);
p2normal(r2);
p3normal(r3);
p4normal(r4);
p1normal2(r1);
p2normal2(r2);
p3normal2(r3);
p4normal2(r4);
p1mw(r1);
p2mw(r2);
p3mw(r3);
p4mw(r4);
p1mw2(r1);
p2mw2(r2);
p3mw2(r3);
p4mw2(r4);
end.