View previous topic :: View next topic |
Author |
Message |
silverfrost Site Admin
Joined: 29 Nov 2006 Posts: 191 Location: Manchester
|
Posted: Thu May 02, 2019 9:33 pm Post subject: Silverfrost FTN95: Fortran for Windows version 8.50 |
|
|
We are pleased to announce the release of FTN95 version 8.50. This is available for download now to supported users.
New Features:
- A new Silverfrost utility called EditSVG
is provided. This can be used to form images from a number of SVG
sources into one composite image.
- The size of the FTN95 stack is effectively no longer limited. The default size is 32MB and this can be
extended via the SLINK64 "stack_size <hex-value>" command or the new SLINK64 "stack <hex-value>" command
where <hex-value> is the decimal number of decimal megabytes required.
- Fortran 2003 standard I/O FLUSH statement added. (Win32/x64 only)
- Fortran 2003 standard I/O routines, keyword argument IOMSG added. (Win32/x64 only)
- Fortran 2003 standard intrinsic GET_ENVIRONMENT_VARIABLE added.
- Fortran 2008 standard intrinsic EXECUTE_COMMAND_LINE added.
- Routines READFLONG@ and WRITEFLONG@ have been added (x64 only). These are the same as READF@ and WRITEF@ respectively except that they take INTEGER*8 values for NBYTES and NBYTES_READ.
- The intrinsic functions LEN and LEN_TRIM can now take a second argument for the KIND value of the result.
- Array arguments for routines can now be ALLOCATABLE according to the Fortran 2003 standard.
- An FTN95 ALLOCATE statement can take the keyword argument ABSOLUTE_ADDRESS=addr where addr is the INTEGER KIND(7) address obtained from the LOC of some object. (Win32/x64 only)
- A new FTN95 "CORE" intrinsic PCORE7 has been added for use in pointer assignments of the form p=>PCORE7(addr) where p is a pointer to some object and addr is the LOC of another object of the same type.
- Microsoft Visual Studio 2017 plugin
- ClearWin+: The buffer size for %RE was previously limited to 32K characters. This limit has now been removed but in such cases the buffer will not be automatically updated and an explicit call to GetEditText@ will be required in order to copy the text to the buffer. If this copying takes place within an associated callback function then clearwin_info@("CURRENT_CONTROL") returns the required HWND.
- ClearWin+: ALLOCATE(data1,ABSOLUTE_ADDRESS=addr) can be used in a callback relating to %ud. addr will be obtained via CLEARWIN_INFO@("USER_DATA") and data1 will be an object of the same kind as that used in the call to LOC.
Last edited by silverfrost on Fri May 03, 2019 8:56 am; edited 1 time in total |
|
Back to top |
|
|
silverfrost Site Admin
Joined: 29 Nov 2006 Posts: 191 Location: Manchester
|
Posted: Thu May 02, 2019 9:36 pm Post subject: |
|
|
Outline summary of bugs that have been fixed:
- A PRIVATE TYPE in a MODULE was not private.
- A USE ONLY attribute for a MODULE TYPE was not working correctly.
- There was an internal compiler error with /64 and PRINT a(i,1:n).
- /UNDEF was failing for an ALLOCATEd vector and vector subscript.
- Various /64 /OPT bugs have been fixed.
- An implicitly typed implied DO loop variable was being exported from a MODULE.
- GET_COMMAND_ARGUMENT was failing when the path is set in double quotes.
- RANDOM@ gave incorrect results when used in a small loop.
- There was an access violation with /64 and an internal READ of a logical list.
- COMPLEX(RESHAPE(...)) was not working correctly for REAL data.
- An error report for a certain ALLOCATE rank failure was giving an access violation.
- Assigning a scalar return from SUM to an array was not working correctly.
- An array used in a WHERE mask was being interpreted as a vector subscript in the body of the construct.
- /UNDEF was failing with the SUM intrinsic when used with ALLOCATABLE arrays.
- There was a regression for Win32 when using SPREAD within a certain call to SUM.
- The 64 bit version of RENAME@ was incorrectly giving an error number of zero when the file to rename did not exist.
|
|
Back to top |
|
|
|