Silverfrost Forums

Welcome to our forums

Silverfrost FTN95: Fortran for Windows version 8.30

19 Mar 2018 5:21 #21638

We are pleased to announce the release of FTN95 version 8.30. This is available for download now to supported users.

New Features:

  • 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 REAL8 variable is assigned to a long REAL4 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.

-- Admin Silverfrost Limited
This forum is locked.