Silverfrost Logo About Us | Contact Us
 

See also: Plato Revision History

Version 5.50

New Features:

  • A new command line option /RAGGED_ARRAYS has been added for use with /CHECK and /CHECKMATE. This option prevents a runtime failure when a non-rectangular array is passed to a subprogram as is the case with some BLAS/LAPACK routines.
  • An optional new memory model in salflibc.dll has now been made the default. The environment variable FTN95_NEW_MEMORY can be set to FALSE in order to switch this off.
  • Plato is now fully integrated with SDBG when this feature is switched on in the Options dialog.
  • Plato can now print files using syntax colouring.
  • ClearWin+: A new option has been added for %cw called [local_font] that causes %cw to use the current %fn and %ts.
  • ClearWin+: A new option [popup] has been added to %gr so that a %pm menu appears with %gr[full_mouse_input].
  • ClearWin+: Additional keyboard characters have been added for %ac including plus (+) and minus (-) characters.
  • ClearWin+: A new CLEARWIN_INFO@ information string has been added: OPENGL_ALIVE

Outline summary of bugs that have been fixed:

  • Improved Windows 7 compatibility
  • Several issues that are generally seen on x64 operating systems with large amounts of RAM have been fixed. These issues manifested themselves as out-of-memory errors and unexplained floating point exceptions (that were in-fact underflows)
  • Fixed a problem with building on Windows 7/Windows Server 2008 and deploying lower versions of Windows where certain system functions could not be located in kernel32.dll.
  • /EXPLIST was failing when used with a large file and /CHECK.
  • SELECTED_INT_KIND and SELECTED_REAL_KIND did not respond to /ALT_KINDS.
  • When not using /LINK a bad object file was sometimes created despite reported compilation errors.
  • An access violation occurred when a constructor for a user defined type was assigned to an integer.
  • Windows NT text console commands (WCREATE@ et al) now function correctly on consoles with more than 50-lines of line buffer

Version 5.40

New Features:

  • Windows 7 compatibility
  • New comment embedded directive STDCALL added for use before an EXTERNAL statement.
  • New routine ENABLE_DEALLOCATE@ added to allow DEALLOCATE to be applied after ALLOCATE with SHARENAME.
  • New routine DOWNLOAD@ added. This is similar to READ_URL@ but reads into memory.
  • Many of the /CHECK features are now available when using /F_STDCALL.
  • ClearWin+: %ht now accepts JPEG images.
  • ClearWin+: %ht now uses a standard callback COPY_TEXT in order to copy all of the text in the current HTML page to the clipboard.
  • ClearWin+: %th now provides an option for Microsoft style context sensitive help.

Outline summary of bugs that have been fixed:

  • MODULE user defined type with array initialisation was not written to the MOD file.
  • /ALT_KINDS failed in subroutines.
  • Regression in Plato: /CLR_VER project option was not working.
  • There was a particular failure of INTEGER*8 with /CHECK.
  • /CONFIG failed to restore /CHECKMATE setting from config file.
  • /CONFIG failed to work under Windows Vista.
  • SYSTEM_CLOCK returned incorrect results for very fast processors.
  • Regression at 5.20: Type initialiser lead to offset error.
  • Regression at 3.40: There was a failure to parse "i+1" in B(i+1)%C = 0
  • Inconsistent pointer block in /CHECK argument.
  • ClearWin+: %si icons were not displayed correctly for non-standard DPI settings.
  • ClearWin+: %lv did not scroll initial selection into view.

Version 5.30

New Features:

  • C style preprocessing directives can now appear in the label field (except for #include).
  • New memory model used in salflibc.dll. Currently available for beta testing by setting an environment variable.
  • ALLOCATE extended to include SHARENAME keyword argument for Win32 inter-process shared memory and file mapping.

Outline summary of bugs that have been fixed:

  • The dialog box reporting runtime errors sometimes failed to appear.
  • NEAREST intrinsic did not always expanded correctly inline.
  • /CHECK failure when using a certain statement function.
  • A certain combination of using UBOUND with ALLOCATE failed.
  • ALLOCATE failure for array of CHARACTER type with elements of variable length.
  • ALLOCATE regression when using certain CHARACTER members in a TYPE definition within a MODULE.
  • Array of a derived TYPE with zero size not handled correctly by the compiler.
  • Problem with IBSET when used with pointers.
  • INTEGER*1 range problem with /CHECKMATE.
  • False error report when a certain subroutine was passed as an argument in a MODULE.
  • Array bounds check failed when the index was an array element.
  • Missing TARGET caused access violation in a particular construction.
  • False warning issued for a particular EQUIVALENCE statement.
  • Regression in DBK_LINK: vcLinkText@ etc. in Visual ClearWin samples, failed to link.
  • False /CHECK runtime failure when optional CHARACTER argument was absent.
  • Simple assignment to member of .NET class failed to pass JIT compiler.
  • Namelist with array slice gives "Digit(s) expected" error.

Version 5.21

  • Incorrect results in sorting algorithm
  • Regression with respect to recursive subroutine call
  • Compiler crash when taking substring of function returning a character string
  • /ISO should flag error when using REAL as a DO variable
  • Regression with respect to false warning about unreachable code
  • Win32 Visual Studio debugger crash on Windows Vista when debugging external DLLs
  • Custom build steps in Visual Studio plugin when installed to non-default location

Version 5.20.1

  • ALLOCATE regression in 5.20

Version 5.20

  • Support for Visual Studio 2008
  • Additional project support in Visual Studio 2005/2008. User folders can now be created in the solution explorer
  • Plato Version 4 now supports Unicode. Note that version 4 is not compatible with Windows 9x
  • Further support for Windows Vista and Windows Server 2008

The following is a summary of FTN95 bugs that have been fixed at version 5.20.

  • 'Compile' file in Visual Studio solution explorer behaviour fixed.
  • Further fixes and support for debugging under Vista.
  • False type warning when using REAL(COUNT(i)) as an argument.
  • Error not reported for array assignment with mismatched shapes.
  • ALLOCATE does not fail when size of block overflows.
  • /OLD_ARRAYS gives a false error report when A(1) is not an argument.
  • Missing "TYPE" in "END TYPE" causes a module to terminate prematurely.
  • Error not reported when named DO statement does not have matching ENDDO name.
  • OPENF@ not working under .NET.
  • NINT(AR,1) fails for two-dimensional array AR.
  • PRIVATE not implemented when member is used in module.
  • Initialisation of TYPE members within a MODULE fails for large arrays.
  • "Operand incompatible with opcode" failure on integer*1 = integer*4 assignment.
  • USE ONLY f=>g does not link when the function g is declared in another module.
  • Compiler crashes when writing linker data for a certain module.
  • Warning about unreachable code not provided in /DEBUG mode.
  • SUM intrinsic used as argument for DOT_PRODUCT does not compile.
  • IBITS not working for INTEGER*8.
  • /CONVERT not working.
  • IACHAR not available in array initialisation implied DO loop.
  • Explicit declaration needed for a function used on RHS of a statement function.
  • False warning when compiler-defined constant is not used.

The following changes has been made:

  • Use of ALLOCATABLE in TYPE declaration is now tollerated though not standard conforming.

Version 5.10

  • /WIDE_SOURCE limit increased to 1024 characters per line.
  • GET_COMMAND_ARGUMENT intrinsic function, character limit increased from 128 to 256.
  • Improved compatibility with AMD Geode range of processors
  • Improvide Vista support from SDBG and Visual Studio Win32 debugger

The following is a summary of FTN95 bugs that have been fixed at version 5.10.

  • Poor error report when MAX is used with an array argument.
  • .NET false error report about miss-matched argument types in function call.
  • False warning with ALLOCATE, statement will not be executed.
  • ABS not implemented for INTEGER*8.
  • Missing error report when trying to use JUMP@ under .NET.
  • Some array sections not checked at runtime for shape conformance.
  • Another .NET false error report about miss-matched argument types.
  • Operand incompatible with opcode failure with particular use of TRANSFER intrinsic.
  • False warning, RESULT not set in certain recursive function definitions.
  • Character variable in a particular WHERE test gives internal compiler error.
  • An INCLUDE statement corrupts some CONTAINed subroutines.
  • False error report for certain internal PURE routines.
  • FORALL statement using SUM intrinsic fails to initialise correctly.
  • User-defined assignment was not implemented in the context of an paricular array assignment.

Version 5.01

  • Regression in Plato3 fixed: Problem with project file list and dependency checking.
  • Regression in FTN95 fixed: Arrays were not correctly initialised (i.e. simultaneously declared and initialised) in modules.
  • In some circumstances the Visual Studio 2005 integration was not fully installed and theefore not fully functional.
  • Arguments are now passed to the debugee when using the Visual Studio debugger in Win32 mode

Version 5.00

  • NEW FEATURE: Visual Studio 2005 integration.
  • NEW FEATURE: Microsoft .NET 2.0 compatibility.

The following is a summary of FTN95 bugs that have been fixed at version 5.00.

  • REPEAT intrinsic has 32K limit on second argument.
  • Illegal memory reference bug in matrix reallocation program.
  • UNDEF failure with OPTIONAL character argument.
  • Register tracking failure over INVOKE.
  • Use of /PROFILE can cause incorrect function return.
  • Missing label not reported when followed by CONTAINS.
  • Recovery from underflow is not automatic for Win64.
  • <= is not parsed correctly in some situations.
  • Particular use of User-defined == operator fails.
  • Optional INTENT(OUT) causes runtime failure with FULL_UNDEF.
  • Initialisation fails with TARGET and UNDEF.
  • Regression at 4.9. Assigned GOTO does not work in fixed format.
  • Regression at 4.9. Access violation when reading a MODULE.
  • BIT_SIZE does not work for 64 bit integers.
  • SIZE = len fails in READ statement.
  • INTENT(IN) does not prevent assignment via a READ statement.
  • Incorrect result for a particular use of the TRANSFER function.
  • Incorrect result for a complex arithmetic calculation.
  • Size of .NET debug information reduced

Version 4.91

  • An assigned GOTO with array value failed to compile.
  • An access violation occurred when reading a certain TYPE from a module.
  • Changes essential for using /F_STDCALL

Version 4.90

  • NEW FEATURE: /LOCAL_ZERO added for .NET only. Like /ZEROISE but for local variables. Cannot be used with /UNDEF.
  • NEW FEATURE: Size of /UNDEF executable reduced for .NET MODULE containing large array.
  • NEW FEATURE: Size of .NET DLL reduced when it contains a large MODULE array.
  • NEW FEATURE: NET OBJECTs can now be initialised when declared.
  • NEW FEATURE: REAL assigned to hexadecimal value now generates a warning.
  • NEW FEATURE: /F_STDCALL option added for Win32

The following is a summary of FTN95 bugs that have been fixed at version 4.9.

  • Missing member initialation in array elements of user-defined TYPE.
  • INQUIRE(PAD=...) missing.
  • Runtime problem with SHAPE intrinsic - arrays erroneously reported as not conforming.
  • Corrupt header of very large record in unformatted IO.
  • INTEGER i = 'F' does not generate warning or code for .NET.
  • /OPT failure with benchmark test
Copyright © 1999-2010 Silverfrost Limited