Silverfrost Forums

Welcome to our forums

Silverfrost FTN95: Fortran for Windows version 8.90

12 Jun 2022 10:57 #29042

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

New Features:

  • The Fortran 2003 Procedure pointers and type-bound procedures: (1) Type bound procedures (defined within TYPE CONTAINS). (2) Type procedure pointers (defined as members of a TYPE). Not implemented for .NET. (3) General procedure pointers (not defined with a TYPE). Not implemented for .NET.
  • FLOOR and CEILING are now allowed in an initialisation statement.
  • A warning is now provided when an argument of CMPLX is not single precision.
  • An integer argument used as a function now produces a compile time warning.
  • Mismatched COMMON BLOCK sizes are now accepted by default.
  • ClearWin+: Two new options [xaxis=<caption>] and [yaxis=<caption>] have the added to %pl.
  • ClearWin+: Additional runtime checks have been added for %bv string data
  • ClearWin+: Two new routines GET_IMAGE_PROPERTY@ and SET_IMAGE_PROPERTY@ have been added and these enable the user to get and set JPEG image properties
  • ClearWin+: A new subroutine WINDOW_REFRESH@ has been added that takes no arguments. When called in a callback function it has the same effect as a callback return value of DO_REDRAW
  • ClearWin+: SET_SMOOTHING_MODE@ has been extended so that it is effective when drawing from a callback function for %pl
  • ClearWin+: %bg can now take the tilde modifier %~bg. It is used within a %ob cell in order to set its background colour
  • ClearWin+: Some more routines have been added for use with the multi-line edit control %re: EditWrite@, EditWriteLn@, EditReplaceLn@ and EditInsertLn@

-- Admin Silverfrost Limited
12 Jun 2022 10:57 #29043

Outline summary of some of the bugs that have been fixed:

  • Further work to extend 'allocate on assignment'.
  • /DCLVAR was giving false error reports for module functions.
  • A false error report was being given for the SEQUENCE attribute and a MODULE in a separate file.
  • A WHERE mask that looks like a vector subscript was failing to compile.
  • MAXVAL, MINVAL and SUM were not working for an array of TYPE with sub-TYPE.
  • 64 bit MODULO was failing for INTEGER*4 values.
  • EQUIVALENCE was failing when followed by a related DIMENSION statement.
  • POS was not self consistent for unformatted STREAM WRITE.
  • VAX style initialisation was failing for 32 bit COMMON BLOCKs when the COMMON attribute comes first.
  • Direct access READ was failing when a file was opened twice without closing.
  • 32 bit ERFC was giving a FP stack failure.
  • INTERFACE used after CONTAINS was not being faulted.
  • 64 bit /FULL_UNDEF was failing for star-sized arrays and INTENT(OUT).
  • The failure that results from using COM3 as the name for a MODULE was not being reported.
  • There were some false runtime bounds-check error reports.
  • A certain call to LEN_TRIM was causing a memory corruption.
  • 64 bit /CHECK was giving a false runtime error when calling a checked routine from unchecked code.
  • /CHECK was giving a false compile time error for certain optional arguments.
  • The inconsistent use of an ASSIGN label was not trapped.
  • 64 bit /CHECK was giving an internal compiler error when calling a function returning a CHARACTER variable.
  • /CHECK was giving a false runtime error 'Reference through missing optional argument'.
  • IMPORT was giving a false error report when placed before IMPLICIT NONE.
  • /XREF was giving an incorrect return type for the MOD intrinsic.
  • GET_COMMAND_ARGUMENT was giving an internal compiler error when its first argument is passed as an argument.
  • An initialised POINTER member of a TYPE was causing a memory corruption for 64 bit /UNDEF.
  • 64 bit /UNDEF was giving a memory failure when using SAVE in a MODULE.
  • 64 bit TRAP_EXCEPTION@ was giving a false report of an access violation.

-- Admin Silverfrost Limited
This forum is locked.