tw10033.pp 895 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // tests writing of high()/low() of enumeration values, i.e.
  2. // writing and reading of rtti for enums, both "dense" and
  3. // "sparse" enumerations (different rtti is generated and
  4. // different code used for generating and reading)
  5. type
  6. // "dense" unnamed enumeration
  7. Txx = set of (_one, _two, _three);
  8. // "sparse" unnamed enumeration
  9. Tyy = set of (_zero := 0, _ten := 10, _twenty := 20);
  10. // "dense" enumeration
  11. Tx = (one,two,three);
  12. Txxx = set of Tx;
  13. // "sparse" enumeration
  14. Ty = (zero := 0, ten := 10, twenty := 20);
  15. Tyyy = set of Ty;
  16. procedure error(number : longint);
  17. begin
  18. writeln('error ', number);
  19. halt(number);
  20. end;
  21. var
  22. x : txxx;
  23. y : tyyy;
  24. err : word;
  25. _x : txx;
  26. _y : tyy;
  27. begin
  28. writeln(low(_x));
  29. writeln(high(_x));
  30. writeln(low(_y));
  31. writeln(high(_y));
  32. writeln(low(x));
  33. writeln(high(x));
  34. writeln(low(y));
  35. writeln(high(y));
  36. end.