12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- { %cpu=i386}
- { %target=darwin }
- type
- tr= packed record
- b1, b2: byte;
- end;
- procedure test(b: tr);mwpascal;
- begin
- if b.b2 <> 5 then
- halt(1);
- end;
- procedure t;
- var
- r: tr;
- begin
- r.b2 := 5;
- test(r);
- end;
- procedure t2(b: byte); mwpascal;
- var
- p: plongint;
- begin
- p := plongint(@b);
- if p^ <> 1 then
- halt(2);
- end;
- procedure t3;
- var
- b,b2,b3,b4: byte;
- begin
- b := 1;
- b2 := 2;
- b3 := 3;
- b4 := 4;
- t2(b);
- end;
- begin
- t;
- t3;
- end.
|