Silverfrost Forums

Welcome to our forums

Silverfrost FTN95: Fortran for Windows version 8.70

21 Nov 2020 2:26 #26625

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

New Features:

  • The Fortran 2003 feature that allows standard intrinsics in initialisation statements has been added.
  • The Fortran 2003 feature 'allocate on assignment' has been added.
  • The Fortran 2003 ISO_C_BINDING has been added.
  • The Fortran 2008 ISO_FORTRAN_ENV with intrinsics COMPILER_VERSION() and COMPILER_OPTIONS() has been added.
  • The Fortran 2008 complex intrinsics such as ACOS,ACOSH,COSH,and TAN have been added.
  • The Fortran 2008 real intrinsics ACOSH,ASINH,ATANH have been added.
  • The Fortran 2008 DO CONCURRENT construct has been added (but not with embedded IF statements).
  • /ZEROISE can now be used with /64.
  • Compile time argument typing checking has been added for routines in clrwin.mod.
  • Command line options /C and /O have been added for compatibility with gFortran.
  • Many new features have been added to ClearWin+. See cwplus.enh for details.
  • Significant new features have been added to Plato including 'auto-checking' and highlighting Fortran constructs. See Silverfrost YouTube video for details.
  • ClearWin+: option %em[height=<n>] has been added to provide for greater vertical spacing between menu items in the absence of larger icons
  • ClearWin+: New options [height=n] and [vertical_fill=v] have been added to provide for a greater vertical spacing for %ls, %ms and %el.
  • ClearWin+: Scrolling options [hscroll] and [vscroll] have been added to %gr and %pl
  • ClearWin+: Calls to use_resource_library@ have been made redundant.
  • ClearWin+: The functions INVALID_FLOAT@ and INVALID_DOUBLE@ can be used to test if a real value is invalid (is a NaN).
  • ClearWin+: A new option 'undef' is available with clearwin_option@ which will trap when an undefined value is supplied to codes such as %rf and %rd.
  • ClearWin+: %dl has been extended to allow for more than one timer per window. More control can be achieved using SET_TIMER@ and KILL_TIMER@
  • ClearWin+: SET_TOOLTIP_TEXT@ can be used with %th[ms_style]
  • ClearWin+: New format code %ln provides a horizontal etched line
  • ClearWin+: A %pl graph can now be configured at runtime by using new options, 'params' and 'locked'
  • ClearWin+: A new format code %bn has been added as an alternative to %bt and %bb. In particular %bn can be used to present split buttons (with a down icon that is typically used for menus)
  • ClearWin+: A new function SET_INCREMENT@ has been added so that the increments for %df can be changed at dynamically.
  • ClearWin+: The 'link' option for %pl has been extended to provide [link=columns] and [link=bars]
  • ClearWin+: A new routine CHANGE_HELP_TEXT@ has been added
  • ClearWin+: A new routine CHOOSE_COLOUR_EX@ has been added as an alternative to CHOOSE_COLOUR@.

-- Admin Silverfrost Limited
21 Nov 2020 2:27 #26626

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

  • /ALT_KINDS was failing for ACOS(-1.0_2).
  • EOF was being reported for 64 bit redirected input when there is no linefeed on last line.
  • A certain redundant semi-colon was causing the line numbering to go wrong.
  • A repeated STDCALL declaration was giving a false error report.
  • The ambiguous use of a certain module variable was not being faulted.
  • The command line option /SAVE was causing PARAMETERs in win32prm.ins to be saved.
  • The statement i:=i+1 was not reported as faulty (regression at v8.40).
  • Certain array sections were causing an internal compiler error.
  • A certain allocatable array member of a user type was failing conformance checking and causing an internal compiler error.
  • A false error report for matching specific procedure was given with a certain USE ONLY statement.
  • LOGICAL*8 was failing when /alt_kinds was intended but not used.
  • Mixed usage of intrinsic INCLUDE and USE was leading to error number 840 (ambiguous use of PARAMETER).
  • There was an internal compiler error when using a PARAMETER in a certain ALLOCATE statement.
  • /UNDEF was failing for the 32 bit FTN95 ISHFT intrinsic and INTEGER*2.
  • An ENTRY statement where ALLOCATE was used in the parent routine was failing to initialise the pointer.
  • There was a false error report concerning a module subroutine ambiguously declared via a USE statement.
  • An array constructor for an array of complex values was not working for PARAMETER index values.
  • A certain ambiguous interface was not faulted.
  • A certain array constructor that contained a call to a function returning an array was failing.
  • An subroutine call with an argument of the form CORE1(LOC(a)) was giving a false error report.
  • The use of the same construct name for different constructs was not being faulted.
  • The use of a certain Hollerith string was not working.
  • The effect of using OPTIONS(OPTIMISE) was not consistent with using /OPTIMISE on the command line.
  • A product of a single precision complex value with a double precision real value was giving incorrect results (regression at v8.10).
  • There was an access violation when compiling a certain array section assignment.
  • A certain faulty EQUIVALENCE was not trapped.
  • The intrinsic PACK function was not working for arrays of user TYPE.
  • A certain array section was giving a false runtime bounds check error (regression a v4.70).
  • A recursive function that returned a assumed shape array was causing a access violation.
  • A certain integer overflow was not being detected via /CHECK for 64 bits.
  • A missing construct name for DO WHILE and FORALL was not faulted.
  • /64 /OPT was not working for a certain ALLOCATABLE array.
  • /CHECK was giving a false runtime error for a certain DO loop index.

-- Admin Silverfrost Limited
This forum is locked.