ivarol162.pp 805 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. comp162 = double;
  11. {$else FPC_COMP_IS_INT64}
  12. comp162 = comp;
  13. {$endif FPC_COMP_IS_INT64}
  14. procedure test162(a: extended); overload;
  15. begin
  16. writeln('extended called instead of char');
  17. end;
  18. procedure test162(a: char); overload;
  19. begin
  20. writeln('char called instead of extended');
  21. halt(1)
  22. end;
  23. var
  24. x162: extended;
  25. y162: char;
  26. procedure dotest162;
  27. var
  28. v: variant;
  29. begin
  30. try
  31. v := x162;
  32. test162(v);
  33. except
  34. on E : TObject do
  35. halt(1);
  36. end;
  37. try
  38. v := y162;
  39. test162(v);
  40. except
  41. on E : TObject do
  42. writeln('VVV');
  43. end;
  44. end;
  45. {$ifndef bigfile} begin
  46. dotest162;
  47. end. {$endif not bigfile}