trange2.pp 417 B

123456789101112131415161718192021222324252627282930
  1. {$mode objfpc}
  2. uses sysutils;
  3. {$r+}
  4. var
  5. l: longint;
  6. c: cardinal;
  7. n: longint;
  8. begin
  9. n := 0;
  10. l := -1;
  11. try
  12. c := l;
  13. except
  14. writeln('caught 1!');
  15. inc(n);
  16. end;
  17. c := cardinal($ffffffff);
  18. try
  19. l := c;
  20. except
  21. writeln('caught 2!');
  22. inc(n);
  23. end;
  24. if n <> 2 then
  25. begin
  26. writeln('Still problems with range checking between longint/cardinal');
  27. halt(1);
  28. end;
  29. end.