ivarol122.pp 800 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. {$ifndef bigfile}
  2. {$ifdef fpc}
  3. {$mode delphi}
  4. {$else fpc}
  5. {$define FPC_HAS_TYPE_EXTENDED}
  6. {$endif fpc}
  7. {$endif bigfile}
  8. type
  9. {$ifdef FPC_COMP_IS_INT64}
  10. comp122 = currency;
  11. {$else FPC_COMP_IS_INT64}
  12. comp122 = comp;
  13. {$endif FPC_COMP_IS_INT64}
  14. procedure test122(a: byte); overload;
  15. begin
  16. writeln('byte called instead of extended');
  17. end;
  18. procedure test122(a: extended); overload;
  19. begin
  20. writeln('extended called instead of byte');
  21. halt(1)
  22. end;
  23. var
  24. x122: byte;
  25. y122: extended;
  26. procedure dotest122;
  27. var
  28. v: variant;
  29. begin
  30. try
  31. v := x122;
  32. test122(v);
  33. except
  34. on E : TObject do
  35. halt(1);
  36. end;
  37. try
  38. v := y122;
  39. test122(v);
  40. except
  41. on E : TObject do
  42. halt(1);
  43. end;
  44. end;
  45. {$ifndef bigfile} begin
  46. dotest122;
  47. end. {$endif not bigfile}