tbs0182.pp 578 B

12345678910111213141516171819202122232425262728293031
  1. TYPE Rec = RECORD
  2. x:WORD;
  3. y:WORD;
  4. END;
  5. Rec1 = Record
  6. x,y : longint;
  7. end;
  8. Rec2 = Record
  9. r,s : Rec1;
  10. z : word;
  11. end;
  12. plongint = ^longint;
  13. VAR s:WORD;
  14. r:Rec;
  15. rr : Rec2;
  16. CONST p1:POINTER = @s; { Works fine }
  17. p2:POINTER = @R.y; { illegal expression }
  18. p3:pointer = @rr.s.y;
  19. p4:plongint = @rr.s.y;
  20. BEGIN
  21. rr.s.y:=15;
  22. if plongint(p3)^<>15 then
  23. Begin
  24. Writeln('Error : wrong code generated');
  25. Halt(1);
  26. End;
  27. END.