Essential 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

  • Essential LF90 v4.00c patch program (765 KB). Last updated 11/24/99.
    The downloaded file Patch40c.exe should be 782,689 bytes.
  • Essential LF90 v4.0 Release Notes Please read this before downloading and installing the patch program.
  • Essential LF90 v4.0 Bug Fix Descriptions of bugs fixed in the maintenance updates.
  • Projected release date for next update: (Undetermined)

  • Essential Lahey Fortran 90 v4.0 Release Notes

    The following descriptions are cumulative.

    Version 4.00c

  • ELF90 Compiler
    The diagnostic for an illegal tab character in a statement field is now descriptive - previously it was "syntax error".
    The REPEAT function is now allowed in an initialization expression.
  • See Essential LF90 v4.0 Bug Fix Descriptions.
  • Version 4.00a & 4.00b

  • Essential Fortran 90 language subset changes
    The INTRINSIC statement is allowed.
    No text is allowed following the STOP statement.
    No construct-name can precede the IF-THEN statement.
    No construct-name can precede the SELECT CASE statement.
    CASE DEFAULT must be the last case if it is present in a SELECT CASE statement.
  • ELF90 Compiler
    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. We recommend source code similar to the following to reduce the impact of such changes:
  • 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.
  • 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 Developer initialization file
    The Lahey ED for Windows ini file is now ED4W.ini (the default name); it was ED4W_ELH.INI previously. When invoking ED4W.EXE, you do not need to specify an ini file name with the -i switch.
  • SOLD90 command-line debugger
    SOLD90.EXE can only be run on programs linked with the -NWIN option (note that -WINCONSOLE is the default option).

  • Essential Lahey Fortran 90 v4.0 Bug Fix Descriptions

    The following descriptions are cumulative.

    Fixed in Version 4.00c

  • Internal compiler error for statements with illegal label preceding and ELSE or END IF statement.
  • 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.
  • Incorrect diagnostic that derived type is undefined when the definition succeeds the reference.
  • Linker error in some cases when path contains a dot (period) character in the TEMP directory path.
  • 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.

    Privacy Policy

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