Silverfrost Logo About Us | Contact Us
 

See also: Plato Revision History

Version 6.20

New Features:

  • ENUM type included in /f2k features.
  • New function count_files@ added to FTN95 library.
  • New features added to Plato including image and HTML editing.

Outline summary of bugs that have been fixed:

  • Stack pointer was corrupted in call to a matrix function.
  • Virtual memory allocation failure under 64 bit Windows 7.
  • Wild card failure with "ftn95 dir\*.f95".
  • Another buffer problem when using a wild card on the command line.
  • Mixed single and double expression for certain complex values gave incorrect results.
  • a certain character function failed on assignment.
  • a check caused an access violation when a host variable was passed to an internal subroutine.
  • /opt failed in a certain cos with sin expression.
  • Locked register occurred with /checkmate when using ALLOCATE and ANY.
  • False error report "Non-conformant array shapes.." with a certain array of user-defined TYPE.
  • Comment embedded directive FTN95$FREE was not working when placed before a LIBRARY directive.
  • User-defined assignment operator caused /check to give a false runtime error report
  • Redundant USE statements or 'wrong' order caused loss of module data for TYPE elements
  • Setting breakpoints in DLLs in Win32 Visual Studio debugging sessions
  • Debug data tip display in Win32 Visual Studio 2010 debugging sessions
  • Expansion of array data tips in Win32 Visual Studio 2010 debugging sessions and setting their values
  • Clearwin+: %ht buffer problem when screen resolution is very high
  • Clearwin+: %ht problem - jpeg images did not display correctly on a wide screen
  • Clearwin+: clearwin_info@("PRINTER_COPIES") was not working
  • Clearwin+: %dd%rd gave double call to callback when grave is not used
  • Clearwin+: %lv with vertical scroll and button below was not working correctly. Button click was sometimes failing to respond
  • Clearwin+: clearwin_info@('FILTER_ITEM_SELECTED') was not working for get_multiple_file_names@

Version 6.10

Outline summary of bugs that have been fixed:

  • Compiler regression at 6.00: character variable comparision failed when using /full_undef (i.e. /checkmate)
  • Long path names could not be used with wild card command line "FTN95 *.f90" etc.
  • Pure functions as procedure arguments were constrained to be INTENT(IN) but the standard does not require this.
  • FILL@ gave locked register failure with /opt.
  • Compiler failed to create runtime code for array assignment with INTEGER*8 array index and the same index on the RHS.
  • CHECK mode gave false runtime error for INTEGER*2 do-loop index (changed externally) when index was used in a CONTAINed subroutine.
  • SDBG: In some circumstances Windows loads DLLs with Unicode details instead of ANSI. SDBG detects this and acts accordingly
  • ClearWin+: Two problems with the %eb horizontal scrollbar have been fixed
  • ClearWin+: Regression fix: This was caused by spurious mouse_hover event (see 301) in %ib and affected use of SDBG in particular
  • ClearWin+: %lv was not working under Windows 7 when using the XP theme/manifest
  • ClearWin+: %ps was failing in a special case

Version 6.00

New Features:

  • Support for Visual Studio 2010
  • Support for .NET 4.0
  • A new compiler option /NO_TRUNCATE has been added.
  • ClearWin+: A new option [mouse_hover] has been added to %ib
  • ClearWin+: The standard callback COPY has now been implemented for %cw
  • ClearWin+: The local font given by %fn is now applied to %pb
  • ClearWin+: New library routines have been added to make it easier to use %eb[user_colours]
  • ClearWin+: Check boxes in %lv can now be set and reset under program control
  • ClearWin+: Mouse wheel messages are now available with %gr[full_mouse_input]
  • ClearWin+: GET_MULTIPLE_FILENAMES@ has been made available

Outline summary of bugs that have been fixed:

  • A specific test for character equality was failing with /FULL_UNDEF
  • There was a failure to flag a compilation error when a DO loop end control value is not a scalar.
  • The logical test in a WHERE statement was not failing as it should when there is a rank miss-match.
  • There was a false comment about a derived type not being used.
  • There was a failure to flag a compilation error when a certain array expression is a assigned to a scalar.
  • The FTN95 intrinsic LS could not be overloaded within a user MODULE.
  • A certain usage of ALLOCATE failed when applying /CHECK.
  • A certain function call in which an array section was passed did not return a value.
  • There was a false warning about "use without an initial value" for an array section in a READ statement.
  • There was a false runtime error when an array section was passed as an argument and the array has varying size.
  • An array assignment involving a member of a member of a user type failed to compile.
  • There was a false warning about an array member of a user type being redefined.
  • There was a Missing error report when SIZE is called for an assumed-size array.
  • The TRANSFER intrinsic was failing when passing a character variable and using /FULL_UNDEF.
  • FILL@ gave an internal compiler failure when only two arguments are supplied.
  • A certain piece of code using a vector subscript and INTEGER*2 was failing.
  • FILE8@ returned the file size modulo 4GB
  • ClearWin+: Two problems with the %eb horizontal scrollbar have been fixed

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-2012 Silverfrost Limited