bug0236.pp 521 B

1234567891011121314151617181920212223242526272829303132333435
  1. program test_set_subrange;
  2. type
  3. enum = (zero,one,two,three);
  4. sub_enum = one..three;
  5. prec = ^trec;
  6. trec = record
  7. dummy : longint;
  8. en : enum;
  9. next : prec;
  10. end;
  11. const
  12. str : array[sub_enum] of string = ('one','two','three');
  13. procedure test;
  14. var hp : prec;
  15. t : sub_enum;
  16. begin
  17. new(hp);
  18. hp^.en:=zero;
  19. new(hp^.next);
  20. hp^.next^.en:=three;
  21. t:=hp^.en;
  22. Writeln('hp^.en = ',str[hp^.en]);
  23. Writeln('hp^.next^.en = ',str[hp^.next^.en]);
  24. end;
  25. begin
  26. test;
  27. end.