mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 17:28:16 +02:00
55 lines
661 B
ObjectPascal
55 lines
661 B
ObjectPascal
{$inline on}
|
|
{$mode objfpc}
|
|
|
|
type
|
|
tr = record
|
|
case byte of
|
|
1: (l: longint);
|
|
2: (b1,b2,b3,b4: byte);
|
|
end;
|
|
|
|
function f: tr; inline;
|
|
begin
|
|
f.l := 5;
|
|
f.b3 := 6;
|
|
end;
|
|
|
|
procedure t(const r1: tr);
|
|
begin
|
|
if (r1.b3 <> 6) or
|
|
((r1.l and 255) <> 5) then
|
|
halt(1);
|
|
end;
|
|
|
|
procedure t2(out r: tr); inline;
|
|
begin
|
|
r.l := 7;
|
|
r.b2 := 31;
|
|
end;
|
|
|
|
procedure t3(out r: tr); inline;
|
|
begin
|
|
r.l := 88;
|
|
r.b2 := 9;
|
|
end;
|
|
|
|
procedure t4(out r: tr);
|
|
begin
|
|
t3(r);
|
|
end;
|
|
|
|
|
|
var
|
|
r: tr;
|
|
begin
|
|
t(f);
|
|
t2(r);
|
|
if ((r.l and 255) <> 7) or
|
|
(r.b2 <> 31) then
|
|
halt(1);
|
|
t4(r);
|
|
if ((r.l and 255) <> 88) or
|
|
(r.b2 <> 9) then
|
|
halt(1);
|
|
end.
|