Downloads
Lahey Fortran 90 v4.0 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.00e patch
program (948 KB). Last updated 4/23/98. The downloaded file
Patch40e.exe should be 969,857 bytes.
Note: This is the final v4.0 patch.
LF90 v4.0 Release Notes
Please read this before downloading and installing the update program.
LF90 v4.0 Bug Fix Descriptions
of bugs fixed in the maintenance updates.
Lahey Fortran 90 v4.0
Release Notes
The
following descriptions are cumulative.
Version
4.00e
Library Manager (LM) The
LF90 driver will now pass the -PAGESIZE switch to LM when invoking LM in
the case where the "-out <name>.lib" and "-pagesize <value>"
options are specified.
See LF90 v4.0 Bug Fix
Descriptions.
Version 4.00d
New Phar Lap linker version
8.04 When linking a Windows application, the Windows subsystem
(SubSys)is now set to 4.00, rather than 3.10. This will make the
applications' windows have Windows 95/NT features and appearance. This
may have an affect on any of the following: window management, dialog
boxes, buttons, edit control, list boxes, combo boxes, menus, system
bitmaps and colors, system metrics, or parameter validation. See
Microsoft Windows documentation for more information.
See LF90 v4.0 Bug Fix
Descriptions.
Version 4.00c
WiSK demo WiSK
demonstration program complete. (See source file WISKDEMO.F90 in
subdirectory \WISK\DEMOS\WISKDEMO.)
New compiler FATAL error
New diagnostic message: "Character array constructor values must
have same length type parameters."
See LF90 v4.0 Bug Fix
Descriptions.
Version 4.00b
RANDOM_SEED subroutine
The value of the SIZE argument of the RANDOM_SEED subroutine will
now be set to 10, rather than 2. The number of default INTEGERs the
processor uses to hold the seed is 10.
DLL_EXPORT statement The
DLL_EXPORT statement is now allowed without specifying the -DLL compiler
option, making it possible to use Fortran subroutines and functions as
Windows callback routines (the compiler generates the code for these
program units using the STDCALL calling convention).
See LF90 v4.0 Bug Fix
Descriptions.
Version 4.00a
Running on Windows NT The
new feature of the compiler, linker, and other utilities as native
Windows applications has resolved all known problems with running on
Windows NT.
-LISK compiler option The
-LISK and -WIN compiler options are now incompatible; the Windows LISK
library LISKW.LIB has been removed. The equivalent option is -WISK for
linking with the WiSK routine library WINTER.LIB. See the Lahey
Winteracter Starter Kit reference manual for more information.
-MAXFATALS compiler option
The new compiler option -[N]MAXFATALS <n> defaults to abort a
compile after 50 FATAL compiler errors. Use -NMAXFATALS to disable a
maximum or specify as the desired maximum. See the LF90 User's Guide
for more information.
Filenames containing spaces
Filenames containing a space character must be enclosed in double
quotes as command line arguments to the compiler, linker, etc.
Lahey ED initialization file
Lahey ED icons are configured to use the ED4W_LH.INI file
(previously ED4W.INI) in the Windows directory to avoid conflict with
other possible ED installations. If you create your own icon, or run
ED4W.EXE from the command line, specify the argument "-i ed4w_lh.ini".
Lahey ED configuration files
The subdirectory ED4W\CONFIG\CONFIG.OLD will contain a backup of
your Lahey ED personal configuration files if a current installation was
detected at the time of your LF90 install.
Unreliable optimization level 2
removed LF90 v3.50b and previous versions did certain memory
optimizations when invoked with -o2. These optimizations were not
reliable enough and they did very little if anything to speed up most
programs. They are not among the optimizations done with -o3. Starting
with v3.50c, the -o2 memory optimizations have been removed. "-o2" is
now a synonym for "-o1".
PAUSE statement bug fixed
This bug is fixed: At runtime, a program containing multiple PAUSE
statements compiled with the -WINCONSOLE option processed two PAUSEs for
a single RETURN pressed.
READ statement
SIZE= specifier
bug fixed This bug is
fixed: An incorrect value may have been returned by the SIZE=
specifier on a READ statement.
Lahey Fortran 90 v4.0 Bug Fix Descriptions
The
following descriptions are cumulative.
Fixed in
Version 4.00e
Derived types initialized in BLOCK DATA
and passed in named common have wrong initialized values.
Driver does not pass specified -PAGESIZE
switch to LM when the options "-out <name>.lib" and "-pagesize
<value>" are specified.
Internal compiler error when compiling
source code containing MODULE definitions and the MODTABLE.TXT file is
not writeable.
Fixed in Version 4.00d
Internal compiler error on recursive TYPE
structure.
Compiler does not diagnose missing
required unit number in OPEN statement.
SOLD90 debugger displays the incorrect
value of a derived type component in a module procedure.
Internal compiler error when USE ONLY
specifies a variable in COMMON and not including all variables in that
COMMON.
Internal compiler error on RESHAPE
function.
Internal compiler error on SUM function
with ARRAY argument X(Y-1).
Internal compiler error on TRANSFER
function with an illegal specification of a derived type name as the
MOLD argument.
Lahey ED debugger crashes Lahey ED
Developer when program being debugged has an access violation.
Internal compiler error when object file
is specified to be created in a non-existent or write protected
directory.
Internal compiler error on an illegal
assignment expression containing a scalar variable referenced as an
array and specified as the subscript of an allocatable array.
Internal compiler error when a PARAMETER
variable is illegally specified as the index variable of a DO statement.
Internal compiler error caused by previous
fatal errors on multiple IFIX function statements with illegal argument
type.
SOLD90 debugger crashes when examining a
variable in a program with an object module containing a high amount of
program units.
Internal compiler error on an assignment to a
character substring array element of a derived type array using this
syntax: P(2)%LINES(3)(10:26) =
'...' .
Internal compiler error on an illegal
assignment of incompatible types containing a scalar variable referenced
as an array with a type REAL subscript.
Driver fails with "unknown status" when
linking source with a pathname longer than 128 characters.
Fixed in Version 4.00c
Internal compiler error on recursive TYPE
structure.
Internal compiler error instead of fatal
error when NAMELIST name is specified as a NAMELIST object.
Allocatable character array as FORMAT
specification variable causes incorrect fatal runtime error.
Internal compiler error on redundant USE
of module containing named common.
Internal compiler error instead of fatal
error on module name as subroutine argument.
Fixed in Version 4.00b
WINDEMO program aborts at runtime under
Windows NT 4.0.
Compiler error message does not state that
the TYPE of the dummy argument or function result cannot be PRIVATE:
"Module procedures with a PRIVATE dummy argument or function result "...
When compiling multiple source files
containing and using modules, sometimes the generated MODTABLE.TXT is
missing the source file name for some module name entries.
When running on Windows NT, the CPU_TIME
subroutine is returning the incorrect processor time if elapsed time is
greater than approximately 429 seconds.
Internal compiler error on DATA statement
with zero repeat count when initializing array section.
The same sequence of pseudo random numbers
is not being returned by respective subsequent calls to RANDOM_NUMBER
after the PUT of a random number seed which was returned by a GET of
random number seed (RANDOM_SEED subroutine).
|