Joined: 29 Nov 2006
|Posted: Mon Mar 19, 2018 6:21 pm Post subject: Silverfrost FTN95: Fortran for Windows version 8.30
|We are pleased to announce the release of FTN95 version 8.30. This is available for download now to supported users.
- New routines have been added that provide multi-tasking as an alternative to multi-threading. This offers a form of parallel processing that can dramatically reduce run times. See the document notes_on_parallel_processing.txt for further information.
- SLINK64 can now be used to create static libraries.
- A warning is now generated when a REAL*8 variable is assigned to a long REAL*4 constant.
- ClearWin+: Additional functionality added to native SIMPLEPLOT
- Routine GET_PROCESS_HANDLE@ can be used within a thread in order to get the handle of a process that has been started (for example) by START_PROCESS@. GET_PROCESS_ID@ can be used in the same way in order to get the process ID.
- ClearWin+: PRINT_GRAPHICS@ provides a simple interface to print graphics such as native SIMPLEPLOT graphs.
- ClearWin+: %sb has been added in order to provide an alternative to the %ob status bar
- ClearWin+: The format code %rf now accepts the input of a comma. This is transcribed to a decimal point.
- ClearWin+: The format code %il can now be used with the tilde (~) modifier. The result is that the limits are not applied to the displayed %rd integer value but (on error) an alert icon appears and the text colour changes to red.
- ClearWin+: A new option [panel=val] has been added to %br. val is the integer value of a %sb panel
- SIMDEM DLLs are now automatically scanned by the linkers. This makes using SIMDEM a smoother process.
Outline summary of bugs that have been fixed:
- In 32-bit code, some floating point errors caused the exception dialog to show a garbage error message.
- A certain TYPE initialisation was causing FTN95 to crash.
- In 64-bit mode, the use of TRANSFER to create invalid REAL constant was causing FTN95 to crash.
- In 64-bit mode, BTEST was failing for INTEGER*8 arguments.
- The FTN95 option /XREF was failing in certain cases.
- In 32-bit mode, if(A.LT.A) was giving an incorrect result.
- A regression at 8.20 has been fixed. This related to passing an array A enclosed in brackets as in: CALL sub1((A)).
- 64 bit CLOCK@ and DCLOCK@ were returning CPU time rather than the required elapsed time.
- A DO loop with 64 bit integer parameters was causing an internal compiler error.
- SYSTEM_CLOCK was giving inaccurate results in 64-bit mode.
- A false warning was being given for an argument that was a subroutine.
- A program containing only an INTERFACE was producing an object file of zero length (32 bits).
- The REAL and INT intrinsics were failing when used with /ALT_KINDS.
- A confusing error report was given when ASSIGN was used with a function result.
- A problem using memory returned by GET_STORAGE@ that was above 2GB.
- In 32-bit /CHECK mode, a CONTAINed subroutine was giving a false runtime error when calling other CONTAINed subroutine with an argument that was an array section.