Downloads
Lahey
Fortran 90 v4.5
maintenance update
The update program below will update the
current version of your product to the latest maintenance release
version. This is only for owners of the same numbered version of
the product. To update, download the update program below and run
it in Windows.
The maintenance version is
the alpha character after the version number. It is
displayed in the first line of the banner when the compiler is invoked, as
well as in listing files. The update program will update your product
from any previous maintenance version.
To digress to a previous version, the product
must be reinstalled from the product CD, then the update program for
the desired maintenance release could be run. (Saving downloaded updates
is recommended for this purpose. Previous versions can also be
requested from
support@lahey.com.)
- LF90 v4.50i
patch program (1 MB). Last updated 5/16/99.
The downloaded
file Patch45i.exe should be 1,045,003 bytes.
Note: This v4.50i patch can only be used to update
LF90 version 4.50c or newer. If your existing version is v4.50a or
v4.50b, download the v4.50c patch below, and install it first.
- LF90 v4.50c
patch program (1.6 MB). Last updated 6/17/98.
The downloaded
file Patch45c.exe should be 1,679,882 bytes.
- LF90 v4.5 Release Notes Please read this before downloading and installing the update program.
- LF90 v4.5 Bug Fix Descriptions of bugs fixed in the maintenance updates.
-
Projected release
date for next update: (Undetermined)
Lahey Fortran 90 v4.5
Release Notes
The
following descriptions are cumulative.
Version 4.50i
-PAUSE compiler option added
Specifying -PAUSE will cause the executable program linked with
-WINCONSOLE to wait for a keystroke from the user at program completion,
before returning to the operating system. This switch can be used to
keep the console window from vanishing at program completion, thereby
allowing the user to view the final console output.
-WINCONSOLE compiler and linker
option is now the default The default compiler or linker option
will be -WINCONSOLE unless -NWIN or -WIN is specified. Previously the
default was -NWIN. This change was made to accommodate the majority of
development being for 32-bit platforms. Important
Note: Application target platforms of Windows 3.x or DOS will be
impacted by this change. Change your build procedures, such as .FIG
files, to specify -NWIN.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50h
Compiler warning changed to
fatal The severity of the following compiler diagnostic message
has been changed from a warning to a fatal error: "<NAME> does not
appear in an ASSIGN statement in this scoping unit".
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50g
Execution speed degradation
fixed An execution speed degradation with v4.50f will no longer
occur for applications containing uninitialized arrays in COMMON
block(s). The slowdown was introduced in v4.50f in the improvement
described below as "EXE file size reduction", due to word boundary
misalignment.
REPEAT function The
REPEAT function is now allowed in an initialization expression.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50f
EXE file size reduction
The executable file size for programs with uninitialized arrays in
COMMON block(s) will now be smaller relative to the size of those
arrays.
NDP exceptions trapped by Windows
(or winconsole) applications Programs created with -WIN[CONSOLE]
and -TRAP <diou> will now trap NDP exceptions. Previously, this
was functioning correctly only with -NWIN.
Compiler diagnostic added
Parameter constants cannot have the SAVE attribute, nor be specified
in the SAVE statement.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50e
Scratch files opened by a
"schizo" program under straight DOS A program linked as a
"schizo" application (-bind -winconsole) and run under straight DOS will
no longer produce an error attempting to open a scratch file. This was
occurring because of an unsupported API function in the Phar Lap
DOS-Extender.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50d
CPU_TIME subroutine
enhancements CPU_TIME has been upgraded to use the high
performance counter which will provide better granularity under the
Windows 95 operating system. The high performance counter has resolution
of less than a microsecond. It still returns a "clock time", measuring
elapsed time for a routine so it may return inaccurate results if you
have other processes running when you are trying to time program
performance. The high resolution counter is also available under DOS and
Win 3.1 when the program is created as a "schizo" application (-bind
-winconsole), which utilizes the Phar Lap Dos-Extender emulation of the
high performance counter.
EXP function When
compiled with the -ninln option, the EXP function will now return zero
when the X argument is negative infinity, and will return infinity when
the X argument is positive infinity. Previously, the function would
return NaN. Note: The -ap and -g compiler options force the
-ninln option.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50c
WiSK Dialog and Menu Editors
The WiSK versions of the editors will now refuse to load resource
files which were generated using the full version of Winteracter. In
this case, use the editors distributed with the full Winteracter. The
buttons in Lahey ED for Windows will invoke the first Dialog or Menu
Editor application on the PATH.
OpenGL support Microsoft
import libraries are included in the LIB subdirectory for OpenGL static
linking support (see FILELIST.TXT). A demo program will be available in
a future v4.5 patch.
Automake Configuration File
Editor (AMEDIT.EXE) More compiler configurations added: Windows
and Win32 Console Debug, and Windows and Win32 Console Optimized.
New Phar Lap Linker version
9.1 Fixes bugs for debugging only.
INQUIRE
statement EXIST=
specifier Previously, the
INQUIRE statement's EXIST= specifier incorrectly returned TRUE only if
the specified UNIT was connected. This has been changed to return TRUE
if the input/output unit in the UNIT=
specifier is a valid value for a unit number of an external file.
See LF90 v4.5 Bug Fix
Descriptions.
Version 4.50a and 4.50b
Automake If you run AM,
which invokes AUTOMAKE.EXE, and no AUTOMAKE.FIG file exists in the
current directory, the Automake Configuration File Editor will display
to facilitate creating an AUTOMAKE.FIG file for your project.
Subsequently, you can change your Automake settings by running AMEDIT
from the command line.
Phar Lap Librarian, 386|LIB
386lib.exe is included in this release for those with Makes or batch
files which use 386lib syntax. However, the LF90 driver utilizes the LM
librarian.
SYSTEM subroutine
Optional logical argument DOSBOX added to the SYSTEM subroutine to
allow you to disable the creation and display of a DOS console window
when calling SYSTEM from a Windows application to run (spawn) another
Windows application. Setting DOSBOX=.FALSE. suppresses preceding the
specified CMD argument with "COMMAND /C ". If no DOSBOX argument is
present, it defaults to .TRUE.. Example: CALL
SYSTEM("mywinapp.exe",DOSBOX=.FALSE.) Warning: Setting
DOSBOX=.FALSE. is only valid for running an application; it should not
be set to .FALSE. for internal operating system commands (i.e., dir,
copy, md, etc.). Important Note: Existing object
modules (.OBJ) containing CALL SYSTEM statements and compiled with
previous versions of LF90 must be recompiled before linking.
See LF90 v4.5 Bug Fix
Descriptions.
Lahey Fortran 90 v4.5 Bug Fix Descriptions
The
following descriptions are cumulative.
Fixed in Version 4.50i
Numeric labels are in a random order in
the cross reference (-xref option) listing.
Internal compiler error when WRITE
statement output is ISHFTC with certain constant arguments.
Internal compiler error when argument to
PRESENT function is a function name.
Fixed in Version 4.50h
Incorrect diagnostic that derived type is
undefined when the definition succeeds the reference.
Linker error when path contains a dot
(period) character.
Compiler fails to diagnose illegal
automatic or assumed-shape specifier.
Internal compiler error on Assigned GOTO
statement when variable is not ASSIGNed.
Fixed in Version 4.50g
When outputting a value of zero with the
format edit descriptor 'G16.6E2', 6 zeros are printed to the right of
the decimal point; it should be 5 according to the Fortran 90 Standard.
The /EXTRACTALL option of the librarian
(LM) aborts with an invalid record type error.
Incorrect result from MINLOC and MAXLOC
when ARRAY argument contains HUGE values.
REPEAT is not allowed in an initialization
expression.
Incorrect fatal error where ISHFT is used
in an initialization expression.
Incorrect fatal error on initialization
expression containing a computation with 0**x.
Internal compiler error on bad code where
an equivalenced item of undetermined length is implicitly typed.
Execution speed slowdown in v4.50f for
programs containing uninitialized arrays in COMMON block(s).
Fixed in Version 4.50f
NDP exception is not trapped with -TRAP
and -WIN[CONSOLE].
LM gets invalid page fault or other fatal
error when attempting to create a list file from import1.lib.
Incorrect error message "Insufficient RAM
to continue execution" when argument to ADJUSTL is a zero-length
substring.
Internal compiler error when array
argument to EOSHIFT contains an unbounded array subscript.
Internal compiler error when array
argument to CSHIFT contains an unbounded array subscript.
Parameter constants cannot have the SAVE
attribute, nor be specified in the SAVE statement.
Too many bytes written to direct file when WRITE
statement's REC=
specifier has a COMMON variable value.
Under Windows NT, handles opened by SYSTEM
routine are not closed.
Passing command-line arguments to program
in Lahey ED debugger does not work correctly if the exe path contains a
space character.
Fixed in Version 4.50e
The order of multiplicands in an
assignment incorrectly affects the result in an optimized program.
The result of negation of a complex number
array section is not negative.
Internal compiler error when a series of
CONTAINed subroutines are terminated by END, rather than END SUBROUTINE
statements.
Internal compiler error when ALLOCATEing
an array defined in a module in a subroutine without any declaration
statements.
No compiler diagnostic when EQUIVILENCE of
an object with the TARGET attribute.
Unable to OPEN a scratch file with a
program linked with -bind and -winconsole under straight DOS.
Fixed in Version 4.50d
When the Lahey ED Debugger Watch Window is
open, if the current program unit contains a character variable longer
than 120 characters, unexpected application errors can occur.
Fixed in Version 4.50c
Internal compiler error when POS argument
of IBITS function is passed a 2-byte integer.
Internal compiler error on invalid
assignment of an integer in a PARAMETER statement.
Internal compiler error on code computing
exponent of a derived type array element.
EXIST keyword of INQUIRE statement
incorrectly returning FALSE when unit does exist (returns TRUE only if
unit is connected).
Fatal error loading program in SOLD90 or
Lahey ED Debugger.
"Unknown error during program load ..."
error message when invoking Lahey ED Debugger when exe file was invalid
from linker errors.
Lahey ED Debugger Watches Dialog hangs or
causes illegal operation when program contains a very large derived type
structure.
Automake Configuration File Editor known
problem with AM command under Windows NT when no AUTOMAKE.FIG file
exists.
WiSK Dialog and Menu Editors remove needed
definitions beginning with "IDOK".
Visual Analyzer fails analysis of program
containing many nested modules in large number of source files.
|