tvarol31.pp 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. comp31 = currency;
  11. {$else FPC_COMP_IS_INT64}
  12. comp31 = comp;
  13. {$endif FPC_COMP_IS_INT64}
  14. {$ifdef FPC_HAS_TYPE_EXTENDED}
  15. procedure test31(a: comp31); overload;
  16. begin
  17. writeln('comp31 called instead of extended');
  18. end;
  19. procedure test31(a: extended); overload;
  20. begin
  21. writeln('extended called instead of comp31');
  22. halt(1)
  23. end;
  24. var
  25. x31: comp31;
  26. y31: extended;
  27. procedure dotest31;
  28. var
  29. v: variant;
  30. begin
  31. try
  32. v := x31;
  33. test31(v);
  34. except
  35. on E : TObject do
  36. halt(1);
  37. end;
  38. try
  39. v := y31;
  40. test31(v);
  41. except
  42. on E : TObject do
  43. halt(1);
  44. end;
  45. end;
  46. {$ifndef bigfile} begin
  47. dotest31;
  48. end. {$endif not bigfile}
  49. {$else FPC_HAS_TYPE_EXTENDED}
  50. begin
  51. end.
  52. {$endif FPC_HAS_TYPE_EXTENDED}