DOS_ENV.DOC 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. TopSpeed DOS Environment Release Notes version 3.10
  2. ======================== ==========================
  3. This document contains information on the following:
  4. 1. KNOWN PROBLEMS IN TOPSPEED RELEASE 3.10
  5. 2. DIFFERENCES FROM TOPSPEED VERSION 2.00
  6. 3. DIFFERENCES FROM TOPSPEED VERSION 3.00
  7. 4. ERRATA AND ADDENDA
  8. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  9. 1. KNOWN PROBLEMS IN TOPSPEED RELEASE 3.10
  10. ===========================================
  11. þ Run time errors in dynalink model will not have line number
  12. information in the report.
  13. þ A program containing floating point, compiled with the
  14. emulator option and being debugged on a machine with a
  15. co-processor may exhibit erratic behaviour.
  16. 2. DIFFERENCES FROM TOPSPEED VERSION 2.00
  17. ==========================================
  18. The TopSpeed Environment for Release 3.10 is different in
  19. appearance, but essentially the same in operation, to that
  20. supplied with Release 2 of TopSpeed Modula-2 and TopSpeed C,
  21. with the following exceptions.
  22. þ A number of new facilities have been introduced, such as the
  23. Locate File utility, and a command history in every data-
  24. entry field using the Tab key.
  25. þ The project system has been introduced in place of the
  26. previous make system. This is discussed further below.
  27. þ The TopSpeed system now supports four TopSpeed languages
  28. (Pascal, Modula-2, C and C++) rather than two.
  29. þ The TopSpeed system now supports more memory models,
  30. including an automatic code and data overlaying model.
  31. 3. DIFFERENCES FROM TOPSPEED VERSION 3.00
  32. ==========================================
  33. þ SmartMethod Linking. Starting with release 3.01 the
  34. TopSpeed linker is able to smart-link out virtual
  35. procedures that cannot be called during the execution of
  36. a program. An option to control SmartMethod linking is on
  37. the Project Options menu. Note that SmartMethod linking
  38. will not work if SmartLinking is specified as off.
  39. The consistency of these options is not yet checked.
  40. þ Commoning up of identical constants. The TopSpeed linker is
  41. now capable of assigning identical constants and procedure
  42. bodies to the same location in memory. This can result in
  43. size savings on large projects but can also alter the
  44. semantics of pointer comparisons on constant objects. See the
  45. help text for further information. This option defaults to
  46. off.
  47. 4. ERRATA AND ADDENDA
  48. ======================
  49. The Developer's Guide p 19:
  50. The second example for the #implib command should read as
  51. follows:
  52. #implib <libfile> <expfile>
  53. The Developer's Guide p 32 lines 33 and 34:
  54. These lines should read as follows:
  55. #set opath = c:\ts\include\io.def
  56. #set cpath = d:\test\io.def
  57. The Developer's Guide p56:
  58. The description of the following call pragma is missing
  59. from the manual:
  60. alloca=>on
  61. This pragma is only used for internal library
  62. routines. The purpose of this pragma is to modify
  63. the stack frame of the calling function. When using
  64. the alloca function you must include the header
  65. file alloc.h. This pragma cannot be used in a
  66. project file.
  67. The Developer's Guide p72:
  68. The name pragma prefix => string cannot be used in project
  69. files.
  70. The Developer's Guide p91:
  71. The following link_option pragmas are missing from the
  72. manual:
  73. pragma link_option(smart_method => on | off)
  74. This pragma controls whether the linker will
  75. eliminate unused virtual methods from the
  76. executable file. This process, known as Smart
  77. Method linking, typically results in a significant
  78. reduction in the executable file size.
  79. Smart Method linking can only operate when the
  80. optimize(smart_link) pragma is also specified.
  81. This option defaults to on, except when a
  82. dynamic link library is being produced. The
  83. Project Project options SmartMethod linking
  84. menu command may be used to specify this option.
  85. pragma link_option(share_const => on | off)
  86. This pragma controls whether the linker allocates
  87. the same memory for identical constant values, or
  88. whether constants are allocated distinct addresses
  89. even when they are identical. Sharing identical
  90. constants reduces the size of executable files,
  91. but may cause semantic changes in the operation
  92. of a program if it compares the values of pointers
  93. to these constants, for example. Identical virtual
  94. method tables are always shared, regardless of the
  95. setting of this pragma.
  96. This pragma defaults to off. The Project Project
  97. options (H) Share identical constants menu command
  98. may be used to specify this option.
  99.