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

  • 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).

    Privacy Policy

    © 2007-2022 Lahey Computer Systems, Inc. All Rights Reserved.
    Lahey Computer Systems, Inc., P.O. Box 6091, Incline Village, NV 89450 USA