cpuinfo.pas 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. {
  2. $Id$
  3. Copyright (c) 1998-2002 by the Free Pascal development team
  4. Basic Processor information for the PowerPC
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. Unit CPUInfo;
  12. Interface
  13. uses
  14. globtype;
  15. Type
  16. bestreal = double;
  17. ts32real = single;
  18. ts64real = double;
  19. ts80real = extended;
  20. ts128real = extended;
  21. ts64comp = comp;
  22. pbestreal=^bestreal;
  23. { possible supported processors for this target }
  24. tprocessors =
  25. (no_processor,
  26. ppc601,
  27. ppc604
  28. );
  29. tfputype =
  30. (no_fpuprocessor,
  31. fpu_soft,
  32. fpu_standard
  33. );
  34. Const
  35. { calling conventions supported by the code generator }
  36. supported_calling_conventions : tproccalloptions = [
  37. pocall_internproc,
  38. pocall_compilerproc,
  39. pocall_inline,
  40. pocall_stdcall,
  41. { the difference to stdcall is only the name mangling }
  42. pocall_cdecl,
  43. { the difference to stdcall is only the name mangling }
  44. pocall_cppdecl,
  45. { pass all const records by reference }
  46. pocall_mwpascal
  47. ];
  48. processorsstr : array[tprocessors] of string[10] = ('',
  49. '603',
  50. '604'
  51. );
  52. fputypestr : array[tfputype] of string[8] = ('',
  53. 'SOFT',
  54. 'STANDARD'
  55. );
  56. Implementation
  57. end.
  58. {
  59. $Log$
  60. Revision 1.24 2005-03-27 14:10:53 jonas
  61. * const record parameters > 8 bytes are now passed by reference for non
  62. cdecl/cppdecl procedures on Mac OS/Mac OS X to fix compatibility with
  63. GPC (slightly more efficient than Metrowerks behaviour below, but
  64. less efficient in most cases than our previous scheme)
  65. + "mwpascal" procedure directive to support the const record parameter
  66. behaviour of Metrowerks Pascal, which passes all const records by
  67. reference
  68. Revision 1.23 2005/03/25 21:55:43 jonas
  69. * removed some unused variables
  70. Revision 1.22 2005/02/14 17:13:10 peter
  71. * truncate log
  72. }