Update BUGS, INSTALL, NEWS derived files
authorCraig Burley <burley@gcc.gnu.org>
Sat, 13 Mar 1999 12:17:46 +0000 (07:17 -0500)
committerCraig Burley <burley@gcc.gnu.org>
Sat, 13 Mar 1999 12:17:46 +0000 (07:17 -0500)
From-SVN: r25744

gcc/f/BUGS
gcc/f/INSTALL
gcc/f/NEWS

index cce80d7981cd0e6e62ede5f8f111a60163aef33d..0ff536d4aaa294500367b6203558dd1dddeb33cb 100644 (file)
@@ -1,27 +1,46 @@
-NOTE: This file is automatically generated from the files `bugs0.texi'
-and `bugs.texi'.  `BUGS' is *not* a source file, although it is
-normally included within source distributions.
+*Note:* This file is automatically generated from the files
+`bugs0.texi' and `bugs.texi'.  `BUGS' is *not* a source file, although
+it is normally included within source distributions.
 
-   This file lists known bugs in the GNU Fortran compiler.  Copyright
-(C) 1995-1998 Free Software Foundation, Inc.  You may copy, distribute,
-and modify it freely as long as you preserve this copyright notice and
-permission notice.
+   This file lists known bugs in the EGCS-1.2 version of the GNU
+Fortran compiler.  Copyright (C) 1995-1999 Free Software Foundation,
+Inc.  You may copy, distribute, and modify it freely as long as you
+preserve this copyright notice and permission notice.
 
-Bugs in GNU Fortran
-*******************
+Known Bugs In GNU Fortran
+*************************
 
    This section identifies bugs that `g77' *users* might run into in
-version {No Value For "version-g77"} of `g77'.  This includes bugs that
-are actually in the `gcc' back end (GBE) or in `libf2c', because those
-sets of code are at least somewhat under the control of (and
-necessarily intertwined with) `g77', so it isn't worth separating them
-out.
-
-   For information on bugs in *other* versions of `g77', *Note News
-About GNU Fortran: News.
+the EGCS-1.2 version of `g77'.  This includes bugs that are actually in
+the `gcc' back end (GBE) or in `libf2c', because those sets of code are
+at least somewhat under the control of (and necessarily intertwined
+with) `g77', so it isn't worth separating them out.
+
+   For information on bugs in *other* versions of `g77', see
+`egcs/gcc/f/NEWS'.  There, lists of bugs fixed in various versions of
+`g77', can help determine what bugs existed in prior versions.
+
+   *Warning:* The information below is still under development, and
+might not accurately reflect the `g77' code base of which it is a part.
+Efforts are made to keep it somewhat up-to-date, but they are
+particularly concentrated on any version of this information that is
+distributed as part of a *released* `g77'.
+
+   In particular, while this information is intended to apply to the
+EGCS-1.2 version of `g77', only an official *release* of that version
+is expected to contain documentation that is most consistent with the
+`g77' product in that version.
+
+   An online, "live" version of this document (derived directly from
+the mainline, development version of `g77' within `egcs') is available
+via `http://egcs.cygnus.com/onlinedocs/g77_bugs.html'.  Follow the
+"Known Bugs" link.
 
    For information on bugs that might afflict people who configure,
-port, build, and install `g77', *Note Problems Installing::.
+port, build, and install `g77', see "Problems Installing" in
+`egcs/gcc/f/INSTALL'.
+
+   The following information was last updated on 1999-03-13:
 
    * Automatic arrays possibly aren't working on HP-UX systems, at
      least in HP-UX version 10.20.  Writing into them apparently causes
@@ -78,10 +97,7 @@ port, build, and install `g77', *Note Problems Installing::.
      compiler.)
 
      Note that `g77' does display a warning message to notify the user
-     before the compiler appears to hang.  *Note Initialization of
-     Large Aggregate Areas: Large Initialization, for information on
-     how to change the point at which `g77' decides to issue this
-     warning.
+     before the compiler appears to hang.
 
    * `g77' doesn't emit variable and array members of common blocks for
      use with a debugger (the `-g' command-line option).  The code is
@@ -94,9 +110,6 @@ port, build, and install `g77', *Note Problems Installing::.
      whereby some rudimentary information on a member is written as a
      string that is the member's value as a character string.
 
-     *Note Options for Code Generation Conventions: Code Gen Options,
-     for information on the `-fdebug-kludge' option.
-
    * When debugging, after starting up the debugger but before being
      able to see the source code for the main program unit, the user
      must currently set a breakpoint at `MAIN__' (or `MAIN___' or
index 1b1dbb519380540ee3e35b116a1f25cea1b34e95..e1bac001019be1d413e8206a58888b0e680fda4a 100644 (file)
-NOTE: This file is automatically generated from the files
+*Note:* This file is automatically generated from the files
 `install0.texi' and `g77install.texi'.  `INSTALL' is *not* a source
 file, although it is normally included within source distributions.
 
    This file contains installation information for the GNU Fortran
-compiler.  Copyright (C) 1995-1998 Free Software Foundation, Inc.  You
-may copy, distribute, and modify it freely as long as you preserve this
-copyright notice and permission notice.
+compiler.  Copyright (C) {No Value For "copyrights-install"} Free
+Software Foundation, Inc.  You may copy, distribute, and modify it
+freely as long as you preserve this copyright notice and permission
+notice.
 
 Installing GNU Fortran
 **********************
 
    The following information describes how to install `g77'.
 
-   Note that, for `egcs' users, much of this information is obsolete,
+   Note that, for `egcs' users, much of the information is obsolete,
 and is superceded by the `egcs' installation procedures.  Such
-information is explicitly flagged as such.
+information is accordingly omitted and flagged as such.
 
-   The information in this file generally pertains to dealing with
-*source* distributions of `g77' and `gcc'.  It is possible that some of
-this information will be applicable to some *binary* distributions of
-these products--however, since these distributions are not made by the
-maintainers of `g77', responsibility for binary distributions rests with
-whoever built and first distributed them.
+   *Warning:* The information below is still under development, and
+might not accurately reflect the `g77' code base of which it is a part.
+Efforts are made to keep it somewhat up-to-date, but they are
+particularly concentrated on any version of this information that is
+distributed as part of a *released* `g77'.
 
-   Nevertheless, efforts to make `g77' easier to both build and install
-from source and package up as a binary distribution are ongoing.
+   In particular, while this information is intended to apply to the
+EGCS-1.2 version of `g77', only an official *release* of that version
+is expected to contain documentation that is most consistent with the
+`g77' product in that version.
+
+   The following information was last updated on 1999-03-13:
 
 Prerequisites
 =============
 
-   *Version info:* For `egcs' users, the following information is
-superceded by the `egcs' installation instructions.
-
-   The procedures described to unpack, configure, build, and install
-`g77' assume your system has certain programs already installed.
-
-   The following prerequisites should be met by your system before you
-follow the `g77' installation instructions:
-
-`gzip' and `tar'
-     To unpack the `gcc' and `g77' distributions, you'll need the
-     `gunzip' utility in the `gzip' distribution.  Most UNIX systems
-     already have `gzip' installed.  If yours doesn't, you can get it
-     from the FSF.
-
-     Note that you'll need `tar' and other utilities as well, but all
-     UNIX systems have these.  There are GNU versions of all these
-     available--in fact, a complete GNU UNIX system can be put together
-     on most systems, if desired.
-
-     The version of GNU `gzip' used to package this release is
-     1.2.4.  (The version of GNU `tar' used to package this release is
-     1.12.)
-
-`gcc-2.8.1.tar.gz'
-     You need to have this, or some other applicable, version of `gcc'
-     on your system.  The version should be an exact copy of a
-     distribution from the FSF.  Its size is approximately 8.4MB.
-
-     If you've already unpacked `gcc-2.8.1.tar.gz' into a directory
-     (named `gcc-2.8.1') called the "source tree" for `gcc', you can
-     delete the distribution itself, but you'll need to remember to
-     skip any instructions to unpack this distribution.
-
-     Without an applicable `gcc' source tree, you cannot build `g77'.
-     You can obtain an FSF distribution of `gcc' from the FSF.
-
-`g77-0.5.24.tar.gz'
-     You probably have already unpacked this package, or you are
-     reading an advance copy of these installation instructions, which
-     are contained in this distribution.  The size of this package is
-     approximately 1.4MB.
-
-     You can obtain an FSF distribution of `g77' from the FSF, the same
-     way you obtained `gcc'.
-
-Enough disk space
-     The amount of disk space needed to unpack, build, install, and use
-     `g77' depends on the type of system you're using, how you build
-     `g77', and how much of it you install (primarily, which languages
-     you install).
-
-     The sizes shown below assume all languages distributed in
-     `gcc-2.8.1', plus `g77', will be built and installed.  These sizes
-     are indicative of GNU/Linux systems on Intel x86 running COFF and
-     on Digital Alpha (AXP) systems running ELF.  These should be
-     fairly representative of 32-bit and 64-bit systems, respectively.
-
-     Note that all sizes are approximate and subject to change without
-     notice!  They are based on preliminary releases of g77 made shortly
-     before the public beta release.
-
-        -- `gcc' and `g77' distributions occupy 10MB packed, 40MB
-          unpacked.  These consist of the source code and documentation,
-          plus some derived files (mostly documentation), for `gcc' and
-          `g77'.  Any deviations from these numbers for different kinds
-          of systems are likely to be very minor.
-
-        -- A "bootstrap" build requires an additional 91MB for a total
-          of 132MB on an ix86, and an additional 136MB for a total of
-          177MB on an Alpha.
-
-        -- Removing `gcc/stage1' after the build recovers 13MB for a
-          total of 119MB on an ix86, and recovers 21MB for a total of
-          155MB on an Alpha.
-
-          After doing this, the integrity of the build can still be
-          verified via `make compare', and the `gcc' compiler modified
-          and used to build itself for testing fairly quickly, using
-          the copy of the compiler kept in `gcc/stage2'.
-
-        -- Removing `gcc/stage2' after the build further recovers 39MB
-          for a total of 80MB, and recovers 57MB for a total of 98MB on
-          an Alpha.
-
-          After doing this, the compiler can still be installed,
-          especially if GNU `make' is used to avoid gratuitous rebuilds
-          (or, the installation can be done by hand).
-
-        -- Installing `gcc' and `g77' copies 23MB onto the `--prefix'
-          disk for a total of 103MB on an ix86, and copies 31MB onto
-          the `--prefix' disk for a total of 130MB on an Alpha.
-
-     After installation, if no further modifications and builds of
-     `gcc' or `g77' are planned, the source and build directory may be
-     removed, leaving the total impact on a system's disk storage as
-     that of the amount copied during installation.
-
-     Systems with the appropriate version of `gcc' installed don't
-     require the complete bootstrap build.  Doing a "straight build"
-     requires about as much space as does a bootstrap build followed by
-     removing both the `gcc/stage1' and `gcc/stage2' directories.
-
-     Installing `gcc' and `g77' over existing versions might require
-     less *new* disk space, but note that, unlike many products, `gcc'
-     installs itself in a way that avoids overwriting other installed
-     versions of itself, so that other versions may easily be invoked
-     (via `gcc -V VERSION').
-
-     So, the amount of space saved as a result of having an existing
-     version of `gcc' and `g77' already installed is not
-     much--typically only the command drivers (`gcc', `g77', `g++', and
-     so on, which are small) and the documentation is overwritten by
-     the new installation.  The rest of the new installation is done
-     without replacing existing installed versions (assuming they have
-     different version numbers).
-
-`make'
-     Your system must have `make', and you will probably save yourself
-     a lot of trouble if it is GNU `make' (sometimes referred to as
-     `gmake').  In particular, you probably need GNU `make' to build
-     outside the source directory (with `configure''s `--srcdir'
-     option.)
-
-     The version of GNU `make' used to develop this release is
-     3.76.1.
-
-`cc'
-     Your system must have a working C compiler.  If it doesn't, you
-     might be able to obtain a prebuilt binary of some version of `gcc'
-     from the network or on CD-ROM, perhaps from the FSF.  The best
-     source of information about binaries is probably a system-specific
-     Usenet news group, initially via its FAQ.
-
-     *Note Installing GNU CC: (gcc)Installation, for more information
-     on prerequisites for installing `gcc'.
-
-`sed'
-     All UNIX systems have `sed', but some have a broken version that
-     cannot handle configuring, building, or installing `gcc' or `g77'.
-
-     The version of GNU `sed' used to develop this release is
-     2.05.  (Note that GNU `sed' version 3.0 was withdrawn by the
-     FSF--if you happen to have this version installed, replace it with
-     version 2.05 immediately.  See a GNU distribution site for further
-     explanation.)
-
-`root' access or equivalent
-     To perform the complete installation procedures on a system, you
-     need to have `root' access to that system, or equivalent access to
-     the `--prefix' directory tree specified on the `configure' command
-     line.
-
-     Portions of the procedure (such as configuring and building `g77')
-     can be performed by any user with enough disk space and virtual
-     memory.
-
-     However, these instructions are oriented towards less-experienced
-     users who want to install `g77' on their own personal systems.
-
-     System administrators with more experience will want to determine
-     for themselves how they want to modify the procedures described
-     below to suit the needs of their installation.
-
-`autoconf'
-     The version of GNU `autoconf' used to develop this release is
-     2.12.
-
-     `autoconf' is not needed in the typical case of installing `gcc'
-     and `g77'.  *Note Missing tools?::, for information on when it
-     might be needed and how to work around not having it.
-
-`bison'
-     The version of GNU `bison' used to develop this release is
-     1.25.
-
-     `bison' is not needed in the typical case of installing `gcc' and
-     `g77'.  *Note Missing tools?::, for information on when it might
-     be needed and how to work around not having it.
-
-`gperf'
-     The version of GNU `gperf' used to develop this release is
-     2.5.
-
-     `gperf' is not needed in the typical case of installing `gcc' and
-     `g77'.  *Note Missing tools?::, for information on when it might
-     be needed and how to work around not having it.
-
-`makeinfo'
-     The version of GNU `makeinfo' used to develop this release is
-     1.68.
-
-     `makeinfo' is part of the GNU `texinfo' package; `makeinfo'
-     version 1.68 is distributed as part of GNU `texinfo' version
-     3.12.
-
-     `makeinfo' is not needed in the typical case of installing `gcc'
-     and `g77'.  *Note Missing tools?::, for information on when it
-     might be needed and how to work around not having it.
-
-     An up-to-date version of GNU `makeinfo' is still convenient when
-     obtaining a new version of a GNU distribution such as `gcc' or
-     `g77', as it allows you to obtain the `.diff.gz' file instead of
-     the entire `.tar.gz' distribution (assuming you have installed
-     `patch').
-
-`patch'
-     The version of GNU `patch' used to develop this release is
-     2.5.
-
-     Beginning with `g77' version 0.5.23, it is no longer necessary to
-     patch the `gcc' back end to build `g77'.
-
-     An up-to-date version of GNU `patch' is still convenient when
-     obtaining a new version of a GNU distribution such as `gcc' or
-     `g77', as it allows you to obtain the `.diff.gz' file instead of
-     the entire `.tar.gz' distribution (assuming you have installed the
-     tools needed to rebuild derived files, such as `makeinfo').
+   For `egcs' users, this information is superceded by the `egcs'
+installation instructions.
 
 Problems Installing
 ===================
@@ -274,7 +62,7 @@ are no plans for an interim fix.
 
    This requirement does not mean you must already have `gcc' installed
 to build `g77'.  As long as you have a working C compiler, you can use a
-bootstrap build to automate the process of first building `gcc' using
+"bootstrap" build to automate the process of first building `gcc' using
 the working C compiler you have, then building `g77' and rebuilding
 `gcc' using that just-built `gcc', and so on.
 
@@ -295,47 +83,7 @@ not yet established.
 Missing strtoul or bsearch
 ..........................
 
-   *Version info:* The following information does not apply to the
-`egcs' version of `g77'.
-
-   On SunOS4 systems, linking the `f771' program used to produce an
-error message concerning an undefined symbol named `_strtoul', because
-the `strtoul' library function is not provided on that system.
-
-   Other systems have, in the past, been reported to not provide their
-own `strtoul' or `bsearch' function.
-
-   Some versions `g77' tried to default to providing bare-bones
-versions of `bsearch' and `strtoul' automatically, but every attempt at
-this has failed for at least one kind of system.
-
-   To limit the failures to those few systems actually missing the
-required routines, the bare-bones versions are still provided, in
-`gcc/f/proj.c', if the appropriate macros are defined.  These are
-`NEED_BSEARCH' for `bsearch' and `NEED_STRTOUL' for `NEED_STRTOUL'.
-
-   Therefore, if you are sure your system is missing `bsearch' or
-`strtoul' in its library, define the relevant macro(s) before building
-`g77'.  This can be done by editing `gcc/f/proj.c' and inserting either
-or both of the following `#define' statements before the comment shown:
-
-     /* Insert #define statements here.  */
-     
-     #define NEED_BSEARCH
-     #define NEED_STRTOUL
-
-   Then, continue configuring and building `g77' as usual.
-
-   Or, you can define these on the `make' command line.  To build with
-the bundled `cc' on SunOS4, for example, try:
-     make bootstrap BOOT_CFLAGS='-O2 -g -DNEED_STRTOUL'
-
-   If you then encounter problems compiling `gcc/f/proj.c', it might be
-due to a discrepancy between how `bsearch' or `strtoul' are defined by
-that file and how they're declared by your system's header files.
-
-   In that case, you'll have to use some basic knowledge of C to work
-around the problem, perhaps by editing `gcc/f/proj.c' somewhat.
+   This information does not apply to the `egcs' version of `g77'.
 
 Cleanup Kills Stage Directories
 ...............................
@@ -375,7 +123,7 @@ System-specific Problems
 
    A linker bug on some versions of AIX 4.1 might prevent building when
 `g77' is built within `gcc'.  It might also occur when building within
-`egcs'.  *Note LINKFAIL::.
+`egcs'.
 
 Cross-compiler Problems
 -----------------------
@@ -426,7 +174,7 @@ Changing Settings Before Building
 =================================
 
    Here are some internal `g77' settings that can be changed by editing
-source files in `gcc/f/' before building.
+source files in `egcs/gcc/f/' before building.
 
    This information, and perhaps even these settings, represent
 stop-gap solutions to problems people doing various ports of `g77' have
@@ -446,7 +194,7 @@ use of unit numbers higher than 99, you can change the value of the
 `MXUNIT' macro, which represents the maximum unit number, to an
 appropriately higher value.
 
-   To do this, edit the file `f/runtime/libI77/fio.h' in your `g77'
+   To do this, edit the file `egcs/libf2c/libI77/fio.h' in your `g77'
 source tree, changing the following line:
 
      #define MXUNIT 100
@@ -495,8 +243,8 @@ are building, you might wish to modify the `g77' source tree so that
 the version of `libg2c' is built with the `ALWAYS_FLUSH' macro defined,
 enabling this behavior.
 
-   To do this, find this line in `f/runtime/f2c.h' in your `g77' source
-tree:
+   To do this, find this line in `egcs/libf2c/f2c.h' in your `g77'
+source tree:
 
      /* #define ALWAYS_FLUSH */
 
@@ -510,7 +258,7 @@ Maximum Stackable Size
 
    `g77', on most machines, puts many variables and arrays on the stack
 where possible, and can be configured (by changing
-`FFECOM_sizeMAXSTACKITEM' in `gcc/f/com.c') to force smaller-sized
+`FFECOM_sizeMAXSTACKITEM' in `egcs/gcc/f/com.c') to force smaller-sized
 entities into static storage (saving on stack space) or permit
 larger-sized entities to be put on the stack (which can improve
 run-time performance, as it presents more opportunities for the GBE to
@@ -545,9 +293,9 @@ factor of 10.
 
    This size currently is quite small, since `g77' currently has a
 known bug requiring too much memory and time to handle such cases.  In
-`gcc/f/data.c', the macro `FFEDATA_sizeTOO_BIG_INIT_' is defined to the
-minimum size for the warning to appear.  The size is specified in
-storage units, which can be bytes, words, or whatever, on a
+`egcs/gcc/f/data.c', the macro `FFEDATA_sizeTOO_BIG_INIT_' is defined
+to the minimum size for the warning to appear.  The size is specified
+in storage units, which can be bytes, words, or whatever, on a
 case-by-case basis.
 
    After changing this macro definition, you must (of course) rebuild
@@ -586,977 +334,18 @@ support 64-bit systems.
 Quick Start
 ===========
 
-   *Version info:* For `egcs' users, the following information is
-superceded by the `egcs' installation instructions.
-
-   This procedure configures, builds, and installs `g77' "out of the
-box" and works on most UNIX systems.  Each command is identified by a
-unique number, used in the explanatory text that follows.  For the most
-part, the output of each command is not shown, though indications of
-the types of responses are given in a few cases.
-
-   To perform this procedure, the installer must be logged in as user
-`root'.  Much of it can be done while not logged in as `root', and
-users experienced with UNIX administration should be able to modify the
-procedure properly to do so.
-
-   Following traditional UNIX conventions, it is assumed that the
-source trees for `g77' and `gcc' will be placed in `/usr/src'.  It also
-is assumed that the source distributions themselves already reside in
-`/usr/FSF', a naming convention used by the author of `g77' on his own
-system:
-
-     /usr/FSF/gcc-2.8.1.tar.gz
-     /usr/FSF/g77-0.5.24.tar.gz
-
-   If you vary *any* of the steps below, you might run into trouble,
-including possibly breaking existing programs for other users of your
-system.  Before doing so, it is wise to review the explanations of some
-of the steps.  These explanations follow this list of steps.
-
-     sh[ 1]# cd /usr/src
-     
-     sh[ 2]# gunzip -c < /usr/FSF/gcc-2.8.1.tar.gz | tar xf -
-     [Might say "Broken pipe"...that is normal on some systems.]
-     
-     sh[ 3]# gunzip -c < /usr/FSF/g77-0.5.24.tar.gz | tar xf -
-     ["Broken pipe" again possible.]
-     
-     sh[ 4]# ln -s gcc-2.8.1 gcc
-     
-     sh[ 5]# ln -s g77-0.5.24 g77
-     
-     sh[ 6]# mv -i g77/* gcc
-     [No questions should be asked by mv here; or, you made a mistake.]
-     
-     sh[ 7]# cd gcc
-     sh[ 8]# ./configure --prefix=/usr
-     [Do not do the above if gcc is not installed in /usr/bin.
-     You might need a different --prefix=..., as
-     described below.]
-     
-     sh[ 9]# make bootstrap
-     [This takes a long time, and is where most problems occur.]
-     
-     sh[10]# make compare
-     [This verifies that the compiler is `sane'.
-     If any files are printed, you have likely found a g77 bug.]
-     
-     sh[11]# rm -fr stage1
-     
-     sh[12]# make -k install
-     [The actual installation.]
-     
-     sh[13]# g77 -v
-     [Verify that g77 is installed, obtain version info.]
-     
-     sh[14]#
-
-   *Note Updating Your Info Directory: Updating Documentation, for
-information on how to update your system's top-level `info' directory
-to contain a reference to this manual, so that users of `g77' can
-easily find documentation instead of having to ask you for it.
-
-   Elaborations of many of the above steps follows:
-
-Step 1: `cd /usr/src'
-     You can build `g77' pretty much anyplace.  By convention, this
-     manual assumes `/usr/src'.  It might be helpful if other users on
-     your system knew where to look for the source code for the
-     installed version of `g77' and `gcc' in any case.
-
-Step 3: `gunzip -d < /usr/FSF/g77-0.5.24.tar.gz | tar xf -'
-     It is not always necessary to obtain the latest version of `g77'
-     as a complete `.tar.gz' file if you have a complete, earlier
-     distribution of `g77'.  If appropriate, you can unpack that earlier
-     version of `g77', and then apply the appropriate patches to
-     achieve the same result--a source tree containing version
-     0.5.24 of `g77'.
-
-Step 4: `ln -s gcc-2.8.1 gcc'
-
-Step 5: `ln -s g77-0.5.24 g77'
-     These commands mainly help reduce typing, and help reduce visual
-     clutter in examples in this manual showing what to type to install
-     `g77'.
-
-     *Note Unpacking::, for information on using distributions of `g77'
-     made by organizations other than the FSF.
-
-Step 6: `mv -i g77/* gcc'
-     After doing this, you can, if you like, type `rm g77' and `rmdir
-     g77-0.5.24' to remove the empty directory and the symbol link to
-     it.  But, it might be helpful to leave them around as quick
-     reminders of which version(s) of `g77' are installed on your
-     system.
-
-     *Note Unpacking::, for information on the contents of the `g77'
-     directory (as merged into the `gcc' directory).
-
-Step 8: `./configure --prefix=/usr'
-     This is where you specify that the `g77' and `gcc' executables are
-     to be installed in `/usr/bin/', the `g77' and `gcc' documentation
-     is to be installed in `/usr/info/' and `/usr/man/', and so on.
-
-     You should ensure that any existing installation of the `gcc'
-     executable is in `/usr/bin/'.
-
-     However, if that existing version of `gcc' is not 2.8.1, or if you
-     simply wish to avoid risking overwriting it with a newly built
-     copy of the same version, you can specify `--prefix=/usr/local'
-     (which is the default) or some other path, and invoke the newly
-     installed version directly from that path's `bin' directory.
-
-     *Note Where in the World Does Fortran (and GNU CC) Go?: Where to
-     Install, for more information on determining where to install
-     `g77'.  *Note Configuring gcc::, for more information on the
-     configuration process triggered by invoking the `./configure'
-     script.
-
-Step 9: `make bootstrap'
-     *Note Installing GNU CC: (gcc)Installation, for information on the
-     kinds of diagnostics you should expect during this procedure.
-
-     *Note Building gcc::, for complete `g77'-specific information on
-     this step.
-
-Step 10: `make compare'
-     *Note Where to Port Bugs: Bug Lists, for information on where to
-     report that you observed files having different contents during
-     this phase.
-
-     *Note How to Report Bugs: Bug Reporting, for information on *how*
-     to report bugs like this.
-
-Step 11: `rm -fr stage1'
-     You don't need to do this, but it frees up disk space.
-
-Step 12: `make -k install'
-     If this doesn't seem to work, try:
-
-          make -k install install-libf77
-
-     Or, make sure you're using GNU `make'.
-
-     *Note Installation of Binaries::, for more information.
-
-     *Note Updating Your Info Directory: Updating Documentation, for
-     information on entering this manual into your system's list of
-     texinfo manuals.
-
-Step 13: `g77 -v'
-     If this command prints approximately 25 lines of output, including
-     the GNU Fortran Front End version number (which should be the same
-     as the version number for the version of `g77' you just built and
-     installed) and the version numbers for the three parts of the
-     `libf2c' library (`libF77', `libI77', `libU77'), and those version
-     numbers are all in agreement, then there is a high likelihood that
-     the installation has been successfully completed.
-
-     You might consider doing further testing.  For example, log in as
-     a non-privileged user, then create a small Fortran program, such
-     as:
-
-                PROGRAM SMTEST
-                DO 10 I=1, 10
-                   PRINT *, 'Hello World #', I
-          10    CONTINUE
-                END
-
-     Compile, link, and run the above program, and, assuming you named
-     the source file `smtest.f', the session should look like this:
-
-          sh# g77 -o smtest smtest.f
-          sh# ./smtest
-           Hello World # 1
-           Hello World # 2
-           Hello World # 3
-           Hello World # 4
-           Hello World # 5
-           Hello World # 6
-           Hello World # 7
-           Hello World # 8
-           Hello World # 9
-           Hello World # 10
-          sh#
-
-     If invoking `g77' doesn't seem to work, the problem might be that
-     you've installed it in a location that is not in your shell's
-     search path.  For example, if you specified `--prefix=/gnu', and
-     `/gnu/bin' is not in your `PATH' environment variable, you must
-     explicitly specify the location of the compiler via `/gnu/bin/g77
-     -o smtest smtest.f'.
-
-     After proper installation, you don't need to keep your gcc and g77
-     source and build directories around anymore.  Removing them can
-     free up a lot of disk space.
+   For `egcs' users, this information is superceded by the `egcs'
+installation instructions.
 
 Complete Installation
 =====================
 
-   *Version info:* For `egcs' users, the following information is
-mostly superceded by the `egcs' installation instructions.
-
-   Here is the complete `g77'-specific information on how to configure,
-build, and install `g77'.
-
-Unpacking
----------
-
-   The `gcc' source distribution is a stand-alone distribution.  It is
-designed to be unpacked (producing the `gcc' source tree) and built as
-is, assuming certain prerequisites are met (including the availability
-of compatible UNIX programs such as `make', `cc', and so on).
-
-   However, before building `gcc', you will want to unpack and merge
-the `g77' distribution in with it, so that you build a Fortran-capable
-version of `gcc', which includes the `g77' command, the necessary
-run-time libraries, and this manual.
-
-   Unlike `gcc', the `g77' source distribution is *not* a stand-alone
-distribution.  It is designed to be unpacked and, afterwards,
-immediately merged into an applicable `gcc' source tree.  That is, the
-`g77' distribution *augments* a `gcc' distribution--without `gcc',
-generally only the documentation is immediately usable.
-
-   A sequence of commands typically used to unpack `gcc' and `g77' is:
-
-     sh# cd /usr/src
-     sh# gunzip -c /usr/FSF/gcc-2.8.1.tar.gz | tar xf -
-     sh# gunzip -c /usr/FSF/g77-0.5.24.tar.gz | tar xf -
-     sh# ln -s gcc-2.8.1 gcc
-     sh# ln -s g77-0.5.24 g77
-     sh# mv -i g77/* gcc
-
-   *Notes:* The commands beginning with `gunzip...' might print `Broken
-pipe...' as they complete.  That is nothing to worry about, unless you
-actually *hear* a pipe breaking.  The `ln' commands are helpful in
-reducing typing and clutter in installation examples in this manual.
-Hereafter, the top level of `gcc' source tree is referred to as `gcc',
-and the top level of just the `g77' source tree (prior to issuing the
-`mv' command, above) is referred to as `g77'.
-
-   There are three top-level names in a `g77' distribution:
-
-     g77/COPYING.g77
-     g77/README.g77
-     g77/f
-
-   All three entries should be moved (or copied) into a `gcc' source
-tree (typically named after its version number and as it appears in the
-FSF distributions--e.g. `gcc-2.8.1').
-
-   `g77/f' is the subdirectory containing all of the code,
-documentation, and other information that is specific to `g77'.  The
-other two files exist to provide information on `g77' to someone
-encountering a `gcc' source tree with `g77' already present, who has
-not yet read these installation instructions and thus needs help
-understanding that the source tree they are looking at does not come
-from a single FSF distribution.  They also help people encountering an
-unmerged `g77' source tree for the first time.
-
-   *Note:* Please use *only* `gcc' and `g77' source trees as
-distributed by the FSF.  Use of modified versions is likely to result
-in problems that appear to be in the `g77' code but, in fact, are not.
-Do not use such modified versions unless you understand all the
-differences between them and the versions the FSF distributes--in which
-case you should be able to modify the `g77' (or `gcc') source trees
-appropriately so `g77' and `gcc' can coexist as they do in the stock
-FSF distributions.
-
-Merging Distributions
----------------------
-
-   After merging the `g77' source tree into the `gcc' source tree, you
-have put together a complete `g77' source tree.
-
-   As of version 0.5.23, `g77' no longer modifies the version number of
-`gcc', nor does it patch `gcc' itself.
-
-   `g77' still depends on being merged with an appropriate version of
-`gcc'.  For version 0.5.24 of `g77', the specific version of `gcc'
-supported is 2.8.1.
-
-   However, other versions of `gcc' might be suitable "hosts" for this
-version of `g77'.
-
-   GNU version numbers make it easy to figure out whether a particular
-version of a distribution is newer or older than some other version of
-that distribution.  The format is, generally, MAJOR.MINOR.PATCH, with
-each field being a decimal number.  (You can safely ignore leading
-zeros; for example, 1.5.3 is the same as 1.5.03.)  The MAJOR field only
-increases with time.  The other two fields are reset to 0 when the
-field to their left is incremented; otherwise, they, too, only increase
-with time.  So, version 2.6.2 is newer than version 2.5.8, and version
-3.0 is newer than both.  (Trailing `.0' fields often are omitted in
-announcements and in names for distributions and the directories they
-create.)
-
-   If your version of `gcc' is older than the oldest version supported
-by `g77' (as casually determined by listing the contents of
-`gcc/f/INSTALL/', which contains these installation instructions in
-plain-text format), you should obtain a newer, supported version of
-`gcc'.  (You could instead obtain an older version of `g77', or try and
-get your `g77' to work with the old `gcc', but neither approach is
-recommended, and you shouldn't bother reporting any bugs you find if you
-take either approach, because they're probably already fixed in the
-newer versions you're not using.)
-
-   If your version of `gcc' is newer than the newest version supported
-by `g77', it is possible that your `g77' will work with it anyway.  If
-the version number for `gcc' differs only in the PATCH field, you might
-as well try that version of `gcc'.  Since it has the same MAJOR and
-MINOR fields, the resulting combination is likely to work.
-
-   So, for example, if a particular version of `g77' has support for
-`gcc' versions 2.8.0 and 2.8.1, it is likely that `gcc-2.8.2' would
-work well with `g77'.
-
-   However, `gcc-2.9.0' would almost certainly not work with that
-version of `g77' without appropriate modifications, so a new version of
-`g77' would be needed (and you should wait for it rather than bothering
-the maintainers--*note User-Visible Changes: Changes.).
-
-   This complexity is the result of `gcc' and `g77' being separate
-distributions.  By keeping them separate, each product is able to be
-independently improved and distributed to its user base more frequently.
-
-   However, the GBE interface defined by `gcc' typically undergoes some
-incompatible changes at least every time the MINOR field of the version
-number is incremented, and such changes require corresponding changes to
-the `g77' front end (FFE).
-
-Where in the World Does Fortran (and GNU CC) Go?
-------------------------------------------------
-
-   Before configuring, you should make sure you know where you want the
-`g77' and `gcc' binaries to be installed after they're built, because
-this information is given to the configuration tool and used during the
-build itself.
-
-   A `g77' installation normally includes installation of a
-Fortran-aware version of `gcc', so that the `gcc' command recognizes
-Fortran source files and knows how to compile them.
-
-   For this to work, the version of `gcc' that you will be building as
-part of `g77' *must* be installed as the "active" version of `gcc' on
-the system.
-
-   Sometimes people make the mistake of installing `gcc' as
-`/usr/local/bin/gcc', leaving an older, non-Fortran-aware version in
-`/usr/bin/gcc'.  (Or, the opposite happens.)  This can result in `gcc'
-being unable to compile Fortran source files, because when the older
-version of `gcc' is invoked, it complains that it does not recognize
-the language, or the file name suffix.
-
-   So, determine whether `gcc' already is installed on your system,
-and, if so, *where* it is installed, and prepare to configure the new
-version of `gcc' you'll be building so that it installs over the
-existing version of `gcc'.
-
-   You might want to back up your existing copy of `/usr/bin/gcc', and
-the entire `/usr/lib' directory, before you perform the actual
-installation (as described in this manual).
-
-   Existing `gcc' installations typically are found in `/usr' or
-`/usr/local'.  (This means the commands are installed in `/usr/bin' or
-`/usr/local/bin', the libraries in `/usr/lib' or `/usr/local/lib', and
-so on.)
-
-   If you aren't certain where the currently installed version of `gcc'
-and its related programs reside, look at the output of this command:
-
-     gcc -v -o /tmp/delete-me -xc /dev/null -xnone
-
-   All sorts of interesting information on the locations of various
-`gcc'-related programs and data files should be visible in the output
-of the above command.  (The output also is likely to include a
-diagnostic from the linker, since there's no `main_()' function.)
-However, you do have to sift through it yourself; `gcc' currently
-provides no easy way to ask it where it is installed and where it looks
-for the various programs and data files it calls on to do its work.
-
-   Just *building* `g77' should not overwrite any installed
-programs--but, usually, after you build `g77', you will want to install
-it, so backing up anything it might overwrite is a good idea.  (This is
-true for any package, not just `g77', though in this case it is
-intentional that `g77' overwrites `gcc' if it is already installed--it
-is unusual that the installation process for one distribution
-intentionally overwrites a program or file installed by another
-distribution, although, in this case, `g77' is an augmentation of the
-`gcc' distribution.)
-
-   Another reason to back up the existing version first, or make sure
-you can restore it easily, is that it might be an older version on
-which other users have come to depend for certain behaviors.  However,
-even the new version of `gcc' you install will offer users the ability
-to specify an older version of the actual compilation programs if
-desired, and these older versions need not include any `g77' components.
-*Note Specifying Target Machine and Compiler Version: (gcc)Target
-Options, for information on the `-V' option of `gcc'.
-
-Configuring GNU CC
-------------------
-
-   `g77' is configured automatically when you configure `gcc'.  There
-are two parts of `g77' that are configured in two different
-ways--`g77', which "camps on" to the `gcc' configuration mechanism, and
-`libg2c', which uses a variation of the GNU `autoconf' configuration
-system.
-
-   Generally, you shouldn't have to be concerned with either `g77' or
-`libg2c' configuration, unless you're configuring `g77' as a
-cross-compiler.  In this case, the `libg2c' configuration, and possibly
-the `g77' and `gcc' configurations as well, might need special
-attention.  (This also might be the case if you're porting `gcc' to a
-whole new system--even if it is just a new operating system on an
-existing, supported CPU.)
-
-   To configure the system, see *Note Installing GNU CC:
-(gcc)Installation, following the instructions for running `./configure'.
-Pay special attention to the `--prefix=' option, which you almost
-certainly will need to specify.
-
-   (Note that `gcc' installation information is provided as a
-plain-text file in `gcc/INSTALL'.)
-
-   The information printed by the invocation of `./configure' should
-show that the `f' directory (the Fortran language) has been configured.
-If it does not, there is a problem.
-
-   *Note:* Configuring with the `--srcdir' argument, or by starting in
-an empty directory and typing a command such as `../gcc/configure' to
-build with separate build and source directories, is known to work with
-GNU `make', but it is known to not work with other variants of `make'.
-Irix5.2 and SunOS4.1 versions of `make' definitely won't work outside
-the source directory at present.
-
-   `g77''s portion of the `configure' script used to issue a warning
-message about this when configuring for building binaries outside the
-source directory, but no longer does this as of version 0.5.23.
-
-   Instead, `g77' simply rejects most common attempts to build it using
-a non-GNU `make' when the build directory is not the same as the source
-directory, issuing an explanatory diagnostic.
-
-Building GNU CC
----------------
-
-   Building `g77' requires building enough of `gcc' that these
-instructions assume you're going to build all of `gcc', including
-`g++', `protoize', and so on.  You can save a little time and disk
-space by changes the `LANGUAGES' macro definition in `gcc/Makefile.in'
-or `gcc/Makefile', but if you do that, you're on your own.  One change
-is almost *certainly* going to cause failures: removing `c' or `f77'
-from the definition of the `LANGUAGES' macro.
-
-   After configuring `gcc', which configures `g77' and `libg2c'
-automatically, you're ready to start the actual build by invoking
-`make'.
-
-   *Note:* You *must* have run the `configure' script in `gcc' before
-you run `make', even if you're using an already existing `gcc'
-development directory, because `./configure' does the work to recognize
-that you've added `g77' to the configuration.
-
-   There are two general approaches to building GNU CC from scratch:
-
-"bootstrap"
-     This method uses minimal native system facilities to build a
-     barebones, unoptimized `gcc', that is then used to compile
-     ("bootstrap") the entire system.
-
-"straight"
-     This method assumes a more complete native system exists, and uses
-     that just once to build the entire system.
-
-   On all systems without a recent version of `gcc' already installed,
-the bootstrap method must be used.  In particular, `g77' uses
-extensions to the C language offered, apparently, only by `gcc'.
-
-   On most systems with a recent version of `gcc' already installed,
-the straight method can be used.  This is an advantage, because it
-takes less CPU time and disk space for the build.  However, it does
-require that the system have fairly recent versions of many GNU
-programs and other programs, which are not enumerated here.
-
-Bootstrap Build
-...............
-
-   A complete bootstrap build is done by issuing a command beginning
-with `make bootstrap ...', as described in *Note Installing GNU CC:
-(gcc)Installation.  This is the most reliable form of build, but it
-does require the most disk space and CPU time, since the complete system
-is built twice (in Stages 2 and 3), after an initial build (during
-Stage 1) of a minimal `gcc' compiler using the native compiler and
-libraries.
-
-   You might have to, or want to, control the way a bootstrap build is
-done by entering the `make' commands to build each stage one at a time,
-as described in the `gcc' manual.  For example, to save time or disk
-space, you might want to not bother doing the Stage 3 build, in which
-case you are assuming that the `gcc' compiler you have built is
-basically sound (because you are giving up the opportunity to compare a
-large number of object files to ensure they're identical).
-
-   To save some disk space during installation, after Stage 2 is built,
-you can type `rm -fr stage1' to remove the binaries built during Stage
-1.
-
-   Also, *Note Installing GNU CC: (gcc)Installation, for important
-information on building `gcc' that is not described in this `g77'
-manual.  For example, explanations of diagnostic messages and whether
-they're expected, or indicate trouble, are found there.
-
-Straight Build
-..............
-
-   If you have a recent version of `gcc' already installed on your
-system, and if you're reasonably certain it produces code that is
-object-compatible with the version of `gcc' you want to build as part
-of building `g77', you can save time and disk space by doing a straight
-build.
-
-   To build just the compilers along with the necessary run-time
-libraries, issue the following command:
-
-     make -k CC=gcc
-
-   If you run into problems using this method, you have two options:
-
-   * Abandon this approach and do a bootstrap build.
-
-   * Try to make this approach work by diagnosing the problems you're
-     running into and retrying.
-
-   Especially if you do the latter, you might consider submitting any
-solutions as bug/fix reports.  *Note Known Causes of Trouble with GNU
-Fortran: Trouble.
-
-   However, understand that many problems preventing a straight build
-from working are not `g77' problems, and, in such cases, are not likely
-to be addressed in future versions of `g77'.  Consider treating them as
-`gcc' bugs instead.
-
-Pre-installation Checks
------------------------
-
-   Before installing the system, which includes installing `gcc', you
-might want to do some minimum checking to ensure that some basic things
-work.
-
-   Here are some commands you can try, and output typically printed by
-them when they work:
-
-     sh# cd /usr/src/gcc
-     sh# ./g77 -B./ -v
-     g77 version 0.5.24
-     Driving: ./g77 -B./ -v -c -xf77-version /dev/null -xnone
-     Reading specs from ./specs
-     gcc version 2.8.1
-      cpp -lang-c -v -isystem ./include -undef -D__GNUC__=2 ...
-     GNU CPP version 2.8.1 (Alpha GNU/Linux with ELF)
-     #include "..." search starts here:
-     #include <...> search starts here:
-      include
-      /usr/alpha-linux/include
-      /usr/lib/gcc-lib/alpha-linux/2.8.1/include
-      /usr/include
-     End of search list.
-      ./f771 -fnull-version -quiet -dumpbase g77-version.f -version ...
-     GNU F77 version 2.8.1 (alpha-linux) compiled ...
-     GNU Fortran Front End version 0.5.24
-      as -nocpp -o /tmp/cca14485.o /tmp/cca14485.s
-      ld -m elf64alpha -G 8 -O1 -dynamic-linker /lib/ld-linux.so.2 ...
-      /tmp/cca14485
-     __G77_LIBF77_VERSION__: 0.5.24
-     @(#)LIBF77 VERSION 19970919
-     __G77_LIBI77_VERSION__: 0.5.24
-     @(#) LIBI77 VERSION pjw,dmg-mods 19980405
-     __G77_LIBU77_VERSION__: 0.5.24
-     @(#) LIBU77 VERSION 19970919
-     sh# ./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone
-     Reading specs from ./specs
-     gcc version 2.8.1
-      ./cpp -lang-c -v -isystem ./include -undef ...
-     GNU CPP version 2.8.1 (Alpha GNU/Linux with ELF)
-     #include "..." search starts here:
-     #include <...> search starts here:
-      include
-      /usr/alpha-linux/include
-      /usr/lib/gcc-lib/alpha-linux/2.8.1/include
-      /usr/include
-     End of search list.
-      ./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version ...
-     GNU C version 2.8.1 (alpha-linux) compiled ...
-      as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s
-      ld -m elf64alpha -G 8 -O1 -dynamic-linker /lib/ld-linux.so.2 ...
-     /usr/lib/crt1.o: In function `_start':
-     ../sysdeps/alpha/elf/start.S:77: undefined reference to `main'
-     ../sysdeps/alpha/elf/start.S:77: undefined reference to `main'
-     sh#
-
-   (Note that long lines have been truncated, and `...'  used to
-indicate such truncations.)
-
-   The above two commands test whether `g77' and `gcc', respectively,
-are able to compile empty (null) source files, whether invocation of
-the C preprocessor works, whether libraries can be linked, and so on.
-
-   If the output you get from either of the above two commands is
-noticeably different, especially if it is shorter or longer in ways
-that do not look consistent with the above sample output, you probably
-should not install `gcc' and `g77' until you have investigated further.
-
-   For example, you could try compiling actual applications and seeing
-how that works.  (You might want to do that anyway, even if the above
-tests work.)
-
-   To compile using the not-yet-installed versions of `gcc' and `g77',
-use the following commands to invoke them.
-
-   To invoke `g77', type:
-
-     /usr/src/gcc/g77 -B/usr/src/gcc/ ...
-
-   To invoke `gcc', type:
-
-     /usr/src/gcc/xgcc -B/usr/src/gcc/ ...
-
-Installation of Binaries
-------------------------
-
-   After configuring, building, and testing `g77' and `gcc', when you
-are ready to install them on your system, type:
-
-     make -k CC=gcc install
-
-   As described in *Note Installing GNU CC: (gcc)Installation, the
-values for the `CC' and `LANGUAGES' macros should be the same as those
-you supplied for the build itself.
-
-   So, the details of the above command might vary if you used a
-bootstrap build (where you might be able to omit both definitions, or
-might have to supply the same definitions you used when building the
-final stage) or if you deviated from the instructions for a straight
-build.
-
-   If the above command does not install `libg2c.a' as expected, try
-this:
-
-     make -k ... install install-libf77
-
-   We don't know why some non-GNU versions of `make' sometimes require
-this alternate command, but they do.  (Remember to supply the
-appropriate definition for `CC' where you see `...' in the above
-command.)
-
-   Note that using the `-k' option tells `make' to continue after some
-installation problems, like not having `makeinfo' installed on your
-system.  It might not be necessary for your system.
-
-   *Note:* `g77' no longer installs files not directly part of `g77',
-such as `/usr/bin/f77', `/usr/lib/libf2c.a', and `/usr/include/f2c.h',
-or their `/usr/local' equivalents.
-
-   *Note Distributing Binaries::, for information on how to accommodate
-systems with no existing non-`g77' `f77' compiler and systems with
-`f2c' installed.
-
-Updating Your Info Directory
-----------------------------
-
-   As part of installing `g77', you should make sure users of `info'
-can easily access this manual on-line.
-
-   `g77' does this automatically by invoking the `install-info' command
-when you use `make install' to install `g77'.
-
-   If that fails, or if the `info' directory it updates is not the one
-normally accessed by users, consider invoking it yourself.  For example:
-
-     install-info --info-dir=/usr/info /usr/info/g77.info
-
-   The above example assumes the `g77' documentation already is
-installed in `/usr/info' and that `/usr/info/dir' is the file you wish
-to update.  Adjust the command accordingly, if those assumptions are
-wrong.
-
-Missing tools?
---------------
-
-   A build of `gcc' might fail due to one or more tools being called
-upon by `make' (during the build or install process), when those tools
-are not installed on your system.
-
-   This situation can result from any of the following actions
-(performed by you or someone else):
-
-   * Changing the source code or documentation yourself (as a developer
-     or technical writer).
-
-   * Applying a patch that changes the source code or documentation
-     (including, sometimes, the official patches distributed by the
-     FSF).
-
-   * Deleting the files that are created by the (missing) tools.
-
-     The `make maintainer-clean' command is supposed to delete these
-     files, so invoking this command without having all the appropriate
-     tools installed is not recommended.
-
-   * Creating the source directory using a method that does not
-     preserve the date-time-modified information in the original
-     distribution.
-
-     For example, the UNIX `cp -r' command copies a directory tree
-     without preserving the date-time-modified information.  Use `cp
-     -pr' instead.
-
-   The reason these activities cause `make' to try and invoke tools
-that it probably wouldn't when building from a perfectly "clean" source
-directory containing `gcc' and `g77' is that some files in the source
-directory (and the corresponding distribution) aren't really source
-files, but *derived* files that are produced by running tools with the
-corresponding source files as input.  These derived files "depend", in
-`make' terminology, on the corresponding source files.
-
-   `make' determines that a file that depends on another needs to be
-updated if the date-time-modified information for the source file shows
-that it is newer than the corresponding information for the derived
-file.
-
-   If it makes that determination, `make' runs the appropriate commands
-(specified in the "Makefile") to update the derived file, and this
-process typically calls upon one or more installed tools to do the work.
-
-   The "safest" approach to dealing with this situation is to recreate
-the `gcc' and `g77' source directories from complete `gcc' and `g77'
-distributions known to be provided by the FSF.
-
-   Another fairly "safe" approach is to simply install the tools you
-need to complete the build process.  This is especially appropriate if
-you've changed the source code or applied a patch to do so.
-
-   However, if you're certain that the problem is limited entirely to
-incorrect date-time-modified information, that there are no
-discrepancies between the contents of source files and files derived
-from them in the source directory, you can often update the
-date-time-modified information for the derived files to work around the
-problem of not having the appropriate tools installed.
-
-   On UNIX systems, the simplest way to update the date-time-modified
-information of a file is to use the use the `touch' command.
-
-   How to use `touch' to update the derived files updated by each of
-the tools is described below.  *Note:* New versions of `g77' might
-change the set of files it generates by invoking each of these tools.
-If you cannot figure out for yourself how to handle such a situation,
-try an older version of `g77' until you find someone who can (or until
-you obtain and install the relevant tools).
-
-Missing `autoconf'?
-...................
-
-   If you cannot install `autoconf', make sure you have started with a
-*fresh* distribution of `gcc' and `g77', do *not* do `make
-maintainer-clean', and, to ensure that `autoconf' is not invoked by
-`make' during the build, type these commands:
-
-     sh# cd gcc/f/runtime
-     sh# touch configure libU77/configure
-     sh# cd ../../..
-     sh#
-
-Missing `bison'?
-................
-
-   If you cannot install `bison', make sure you have started with a
-*fresh* distribution of `gcc', do *not* do `make maintainer-clean',
-and, to ensure that `bison' is not invoked by `make' during the build,
-type these commands:
-
-     sh# cd gcc
-     sh# touch bi-parser.c bi-parser.h c-parse.c c-parse.h cexp.c
-     sh# touch cp/parse.c cp/parse.h objc-parse.c
-     sh# cd ..
-     sh#
-
-Missing `gperf'?
-................
-
-   If you cannot install `gperf', make sure you have started with a
-*fresh* distribution of `gcc', do *not* do `make maintainer-clean',
-and, to ensure that `gperf' is not invoked by `make' during the build,
-type these commands:
-
-     sh# cd gcc
-     sh# touch c-gperf.h
-     sh# cd ..
-     sh#
-
-Missing `makeinfo'?
-...................
-
-   If `makeinfo' is needed but unavailable when installing (via `make
-install'), some files, like `libg2c.a', might not be installed, because
-once `make' determines that it cannot invoke `makeinfo', it cancels any
-further processing.
-
-   If you cannot install `makeinfo', an easy work-around is to specify
-`MAKEINFO=true' on the `make' command line, or to specify the `-k'
-option (`make -k install').
-
-   Another approach is to force the relevant files to be up-to-date by
-typing these commands and then re-trying the installation step:
-
-     sh# cd gcc
-     sh# touch f/g77.info f/BUGS f/INSTALL f/NEWS
-     sh# cd ..
-     sh#
+   For `egcs' users, this information is superceded by the `egcs'
+installation instructions.
 
 Distributing Binaries
 =====================
 
-   If you are building `g77' for distribution to others in binary form,
-first make sure you are aware of your legal responsibilities (read the
-file `gcc/COPYING' thoroughly).
-
-   Then, consider your target audience and decide where `g77' should be
-installed.
-
-   For systems like GNU/Linux that have no native Fortran compiler (or
-where `g77' could be considered the native compiler for Fortran and
-`gcc' for C, etc.), you should definitely configure `g77' for
-installation in `/usr/bin' instead of `/usr/local/bin'.  Specify the
-`--prefix=/usr' option when running `./configure'.
-
-   You might also want to set up the distribution so the `f77' command
-is a link to `g77', although a script that accepts "classic" UNIX `f77'
-options and translates the command-line to the appropriate `g77'
-command line would be more appropriate.  If you do this, *please* also
-provide a "man page" in `man/man1/f77.1' describing the command.  (A
-link to `man/man1/g77.1' is appropriate if `bin/f77' is a link to
-`bin/g77'.)
-
-   For a system that might already have `f2c' installed, consider
-whether inter-operation with `g77' will be important to users of `f2c'
-on that system.  If you want to improve the likelihood that users will
-be able to use both `f2c' and `g77' to compile code for a single program
-without encountering link-time or run-time incompatibilities, make sure
-that, whenever they intend to combine `f2c'-produced code with
-`g77'-produced code in an executable, they:
-
-   * Use the `lib/gcc-lib/.../include/g2c.h' file generated by the
-     `g77' build in place of the `f2c.h' file that normally comes with
-     `f2c' (or versions of `g77' prior to 0.5.23) when compiling *all*
-     of the `f2c'-produced C code
-
-   * Link to the `lib/gcc-lib/.../libg2c.a' library built by the `g77'
-     build instead of the `libf2c.a' library that normally comes with
-     `f2c' (or versions of `g77' prior to 0.5.23)
-
-   How you choose to effect the above depends on whether the existing
-installation of `f2c' must be maintained.
-
-   In any case, it is important to try and ensure that the installation
-keeps working properly even after subsequent re-installation of `f2c',
-which probably involves overwriting `/usr/local/lib/libf2c.a' and
-`/usr/local/include/f2c.h', or similar.
-
-   At least, copying `libg2c.a' and `g2c.h' into the appropriate
-"public" directories allows users to more easily select the version of
-`libf2c' they wish to use for a particular build.  The names are
-changed by `g77' to make this coexistence easier to maintain; even if
-`f2c' is installed later, the `g77' files normally installed by its
-installation process aren't disturbed.  Use of symbolic links from one
-set of files to another might result in problems after a subsequent
-reinstallation of either `f2c' or `g77', so be sure to alert users of
-your distribution accordingly.
-
-   (Make sure you clearly document, in the description of your
-distribution, how installation of your distribution will affect
-existing installations of `gcc', `f2c', `f77', `libf2c.a', and so on.
-Similarly, you should clearly document any requirements you assume will
-be met by users of your distribution.)
-
-   For other systems with native `f77' (and `cc') compilers, configure
-`g77' as you (or most of your audience) would configure `gcc' for their
-installations.  Typically this is for installation in `/usr/local', and
-would not include a new version of `/usr/bin/f77' or
-`/usr/local/bin/f77', so users could still use the native `f77'.
-
-   In any case, for `g77' to work properly, you *must* ensure that the
-binaries you distribute include:
-
-`bin/g77'
-     This is the command most users use to compile Fortran.
-
-`bin/gcc'
-     This is the command some users use to compile Fortran, typically
-     when compiling programs written in other languages at the same
-     time.  The `bin/gcc' executable file must have been built from a
-     `gcc' source tree into which a `g77' source tree was merged and
-     configured, or it will not know how to compile Fortran programs.
-
-`info/g77.info*'
-     This is the documentation for `g77'.  If it is not included, users
-     will have trouble understanding diagnostics messages and other
-     such things, and will send you a lot of email asking questions.
-
-     Please edit this documentation (by editing `gcc/f/*.texi' and
-     doing `make doc' from the `/usr/src/gcc' directory) to reflect any
-     changes you've made to `g77', or at least to encourage users of
-     your binary distribution to report bugs to you first.
-
-     Also, whether you distribute binaries or install `g77' on your own
-     system, it might be helpful for everyone to add a line listing
-     this manual by name and topic to the top-level `info' node in
-     `/usr/info/dir'.  That way, users can find `g77' documentation more
-     easily.  *Note Updating Your Info Directory: Updating
-     Documentation.
-
-`man/man1/g77.1'
-     This is the short man page for `g77'.  It is not always kept
-     up-to-date, but you might as well include it for people who really
-     like "man" pages.
-
-`lib/gcc-lib'
-     This is the directory containing the "private" files installed by
-     and for `gcc', `g77', `g++', and other GNU compilers.
-
-`lib/gcc-lib/.../f771'
-     This is the actual Fortran compiler.
-
-`lib/gcc-lib/.../libg2c.a'
-     This is the run-time library for `g77'-compiled programs.
-
-   Whether you want to include the slightly updated (and possibly
-improved) versions of `cc1', `cc1plus', and whatever other binaries get
-rebuilt with the changes the GNU Fortran distribution makes to the GNU
-back end, is up to you.  These changes are highly unlikely to break any
-compilers, because they involve doing things like adding to the list of
-acceptable compiler options (so, for example, `cc1plus' accepts, and
-ignores, options that only `f771' actually processes).
-
-   Please assure users that unless they have a specific need for their
-existing, older versions of `gcc' command, they are unlikely to
-experience any problems by overwriting it with your version--though
-they could certainly protect themselves by making backup copies first!
-
-   Otherwise, users might try and install your binaries in a "safe"
-place, find they cannot compile Fortran programs with your distribution
-(because, perhaps, they're invoking their old version of the `gcc'
-command, which does not recognize Fortran programs), and assume that
-your binaries (or, more generally, GNU Fortran distributions in
-general) are broken, at least for their system.
-
-   Finally, *please* ask for bug reports to go to you first, at least
-until you're sure your distribution is widely used and has been well
-tested.  This especially goes for those of you making any changes to
-the `g77' sources to port `g77', e.g. to OS/2.  <fortran@gnu.org> has
-received a fair number of bug reports that turned out to be problems
-with other peoples' ports and distributions, about which nothing could
-be done for the user.  Once you are quite certain a bug report does not
-involve your efforts, you can forward it to us.
+   For `egcs' users, this information is superceded by the `egcs'
+installation instructions.
 
index 4659c4b3265771ee8c75e74c3b7302eabf0377cb..8004df5a9284b80acab81baba292b76be01b00cb 100644 (file)
@@ -1,11 +1,12 @@
-NOTE: This file is automatically generated from the files `news0.texi'
-and `news.texi'.  `NEWS' is *not* a source file, although it is
-normally included within source distributions.
+*Note:* This file is automatically generated from the files
+`news0.texi' and `news.texi'.  `NEWS' is *not* a source file, although
+it is normally included within source distributions.
 
-   This file lists recent changes to the GNU Fortran compiler.
-Copyright (C) 1995-1999 Free Software Foundation, Inc.  You may copy,
-distribute, and modify it freely as long as you preserve this copyright
-notice and permission notice.
+   This file lists news about the EGCS-1.2 version (and some other
+versions) of the GNU Fortran compiler.  Copyright (C) 1995-1999 Free
+Software Foundation, Inc.  You may copy, distribute, and modify it
+freely as long as you preserve this copyright notice and permission
+notice.
 
 News About GNU Fortran
 **********************
@@ -42,15 +43,40 @@ clarify how they differ from other versions, though this can make
 getting a complete picture of what a particular `egcs' version contains
 somewhat more difficult.
 
-In `egcs' 1.2:
-==============
+   *Warning:* The information below is still under development, and
+might not accurately reflect the `g77' code base of which it is a part.
+Efforts are made to keep it somewhat up-to-date, but they are
+particularly concentrated on any version of this information that is
+distributed as part of a *released* `g77'.
 
-   * Fix `g77' so it no longer crashes when compiling I/O statements
+   In particular, while this information is intended to apply to the
+EGCS-1.2 version of `g77', only an official *release* of that version
+is expected to contain documentation that is most consistent with the
+`g77' product in that version.
+
+   Nevertheless, information on *previous* releases of `g77', below, is
+likely to be more up-to-date and accurate than the equivalent
+information that accompanied those releases, assuming the last-updated
+date of the information below is later than the dates of those releases.
+
+   That's due to attempts to keep this development version of news
+about previous `g77' versions up-to-date.
+
+   An online, "live" version of this document (derived directly from
+the mainline, development version of `g77' within `egcs') is available
+at `http://egcs.cygnus.com/onlinedocs/g77_news.html'.
+
+   The following information was last updated on 1999-03-13:
+
+In `egcs' 1.2 (versus 1.1.2):
+=============================
+
+  1. Fix `g77' so it no longer crashes when compiling I/O statements
      using keywords that define `INTEGER' values, such as `IOSTAT=J',
      where J is other than default `INTEGER' (such as `INTEGER*2').
      Instead, it issues a diagnostic.
 
-   * The `-ax' option is now obeyed when compiling Fortran programs.
+  2. The `-ax' option is now obeyed when compiling Fortran programs.
      (It is passed to the `f771' driver.)
 
    * Source file names with the suffixes `.FOR' and `.FPP' now are
@@ -63,13 +89,11 @@ In `egcs' 1.2:
      references to the implementations of these intrinsics using the
      `EXTERNAL' mechanism (which would avoid the new warnings).
 
-     *Note Year 2000 (Y2K) Problems::, for more information.
-
-   * `g77' now warns about a reference to a function when the
+  3. `g77' now warns about a reference to a function when the
      corresponding *subsequent* function program unit disagrees with
      the reference concerning the type of the function.
 
-   * Improve documentation and indexing, including information on Year
+  4. Improve documentation and indexing, including information on Year
      2000 (Y2K) compliance.
 
 In 0.5.24 and `egcs' 1.1.2 (versus 0.5.23 and 1.1.1):
@@ -79,8 +103,6 @@ In 0.5.24 and `egcs' 1.1.2 (versus 0.5.23 and 1.1.1):
      documented, non-Y2K-compliant range of 0-99, instead of being
      returned as 100 in the year 2000.
 
-     *Note IDate Intrinsic (VXT)::, for more information.
-
    * Fix the `Date_and_Time' intrinsic (in `libg2c') to return the
      milliseconds value properly in VALUES(8).
 
@@ -114,14 +136,14 @@ In 0.5.24 and `egcs' 1.1.1 (versus 0.5.23 and 1.1):
 In `egcs' 1.1 (versus 0.5.24):
 ==============================
 
-   * Fix `g77' crash compiling code containing the construct
+  5. Fix `g77' crash compiling code containing the construct
      `CMPLX(0.)' or similar.
 
-   * Fix `g77' crash (or apparently infinite run-time) when compiling
+  6. Fix `g77' crash (or apparently infinite run-time) when compiling
      certain complicated expressions involving `COMPLEX' arithmetic
      (especially multiplication).
 
-   * Fix a code-generation bug that afflicted Intel x86 targets when
+  7. Fix a code-generation bug that afflicted Intel x86 targets when
      `-O2' was specified compiling, for example, an old version of the
      `DNRM2' routine.
 
@@ -137,25 +159,25 @@ In `egcs' 1.1 (versus 0.5.24):
 In `egcs' 1.1 (versus `egcs' 1.0.3):
 ====================================
 
-   * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
+  8. Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
      beyond the end of its `CHARACTER' argument, and in the `libU77'
      intrinsics `GMTime' and `LTime' that overwrote their arguments.
 
-   * Assumed arrays with negative bounds (such as `REAL A(-1:*)') no
+  9. Assumed arrays with negative bounds (such as `REAL A(-1:*)') no
      longer elicit spurious diagnostics from `g77', even on systems
      with pointers having different sizes than integers.
 
      This bug is not known to have existed in any recent version of
      `gcc'.  It was introduced in an early release of `egcs'.
 
  * Valid combinations of `EXTERNAL', passing that external as a dummy
10. Valid combinations of `EXTERNAL', passing that external as a dummy
      argument without explicitly giving it a type, and, in a subsequent
      program unit, referencing that external as an external function
      with a different type no longer crash `g77'.
 
  * `CASE DEFAULT' no longer crashes `g77'.
11. `CASE DEFAULT' no longer crashes `g77'.
 
  * The `-Wunused' option no longer issues a spurious warning about
12. The `-Wunused' option no longer issues a spurious warning about
      the "master" procedure generated by `g77' for procedures
      containing `ENTRY' statements.
 
@@ -180,25 +202,25 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
      `libf2c' environment, even when `libf2c' (now `libg2c') is a
      shared library.
 
  * `g77' no longer installs the `f77' command and `f77.1' man page in
13. `g77' no longer installs the `f77' command and `f77.1' man page in
      the `/usr' or `/usr/local' heirarchy, even if the `f77-install-ok'
      file exists in the source or build directory.  See the
      installation documentation for more information.
 
  * `g77' no longer installs the `libf2c.a' library and `f2c.h'
14. `g77' no longer installs the `libf2c.a' library and `f2c.h'
      include file in the `/usr' or `/usr/local' heirarchy, even if the
      `f2c-install-ok' or `f2c-exists-ok' files exist in the source or
      build directory.  See the installation documentation for more
      information.
 
  * The `libf2c.a' library produced by `g77' has been renamed to
15. The `libf2c.a' library produced by `g77' has been renamed to
      `libg2c.a'.  It is installed only in the `gcc' "private" directory
      heirarchy, `gcc-lib'.  This allows system administrators and users
      to choose which version of the `libf2c' library from `netlib' they
      wish to use on a case-by-case basis.  See the installation
      documentation for more information.
 
  * The `f2c.h' include (header) file produced by `g77' has been
16. The `f2c.h' include (header) file produced by `g77' has been
      renamed to `g2c.h'.  It is installed only in the `gcc' "private"
      directory heirarchy, `gcc-lib'.  This allows system administrators
      and users to choose which version of the include file from
@@ -210,11 +232,11 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
      than the one built and installed as part of the same `g77' version
      is picked up.
 
  * During the configuration and build process, `g77' creates
17. During the configuration and build process, `g77' creates
      subdirectories it needs only as it needs them.  Other cleaning up
      of the configuration and build process has been performed as well.
 
  * `install-info' now used to update the directory of Info
18. `install-info' now used to update the directory of Info
      documentation to contain an entry for `g77' (during installation).
 
    * Some diagnostics have been changed from warnings to errors, to
@@ -223,28 +245,28 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
      in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and
      about truncations of various sorts of constants.
 
  * Improve compilation of `FORMAT' expressions so that a null byte is
19. Improve compilation of `FORMAT' expressions so that a null byte is
      appended to the last operand if it is a constant.  This provides a
      cleaner run-time diagnostic as provided by `libf2c' for statements
      like `PRINT '(I1', 42'.
 
  * Improve documentation and indexing.
20. Improve documentation and indexing.
 
  * The upgrade to `libf2c' as of 1998-06-18 should fix a variety of
21. The upgrade to `libf2c' as of 1998-06-18 should fix a variety of
      problems, including those involving some uses of the `T' format
      specifier, and perhaps some build (porting) problems as well.
 
 In 0.5.24 and `egcs' 1.1 (versus 0.5.23):
 =========================================
 
  * `g77' no longer produces incorrect code and initial values for
22. `g77' no longer produces incorrect code and initial values for
      `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural"
      ordering of members vis-a-vis their types, require initial padding.
 
  * `g77' no longer crashes when compiling code containing
23. `g77' no longer crashes when compiling code containing
      specification statements such as `INTEGER(KIND=7) PTR'.
 
  * `g77' no longer crashes when compiling code such as `J = SIGNAL(1,
24. `g77' no longer crashes when compiling code such as `J = SIGNAL(1,
      2)'.
 
    * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary"
@@ -275,1389 +297,15 @@ In 0.5.24 and `egcs' 1.1 (versus 0.5.23):
    * The F90 `System_Clock' intrinsic allows the optional arguments
      (except for the `Count' argument) to be omitted.
 
-   * Upgrade to `libf2c' as of 1998-06-18.
-
-   * Improve documentation and indexing.
-
-In 0.5.23 (versus 0.5.22):
-==========================
-
-   * This release contains several regressions against version 0.5.22
-     of `g77', due to using the "vanilla" `gcc' back end instead of
-     patching it to fix a few bugs and improve performance in a few
-     cases.
-
-     *Note Actual Bugs We Haven't Fixed Yet: Actual Bugs, available in
-     plain-text format in `gcc/f/BUGS', for information on the known
-     bugs in this version, including the regressions.
-
-     Features that have been dropped from this version of `g77' due to
-     their being implemented via `g77'-specific patches to the `gcc'
-     back end in previous releases include:
-
-        - Support for `__restrict__' keyword, the options
-          `-fargument-alias', `-fargument-noalias', and
-          `-fargument-noalias-global', and the corresponding
-          alias-analysis code.
-
-          (`egcs' has the alias-analysis code, but not the
-          `__restrict__' keyword.  `egcs' `g77' users benefit from the
-          alias-analysis code despite the lack of the `__restrict__'
-          keyword, which is a C-language construct.)
-
-        - Support for the GNU compiler options `-fmove-all-movables',
-          `-freduce-all-givs', and `-frerun-loop-opt'.
-
-          (`egcs' supports these options.  `g77' users of `egcs'
-          benefit from them even if they are not explicitly specified,
-          because the defaults are optimized for `g77' users.)
-
-        - Support for the `-W' option warning about integer division by
-          zero.
-
-        - The Intel x86-specific option `-malign-double' applying to
-          stack-allocated data as well as statically-allocate data.
-
-     Note that the `gcc/f/gbe/' subdirectory has been removed from this
-     distribution as a result of `g77' no longer including patches for
-     the `gcc' back end.
-
-   * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
-     beyond the end of its `CHARACTER' argument, and in the `libU77'
-     intrinsics `GMTime' and `LTime' that overwrote their arguments.
-
-   * Support `gcc' version 2.8, and remove support for prior versions
-     of `gcc'.
-
-   * Remove support for the `--driver' option, as `g77' now does all
-     the driving, just like `gcc'.
-
-   * `CASE DEFAULT' no longer crashes `g77'.
-
-   * Valid combinations of `EXTERNAL', passing that external as a dummy
-     argument without explicitly giving it a type, and, in a subsequent
-     program unit, referencing that external as an external function
-     with a different type no longer crash `g77'.
-
-   * `g77' no longer installs the `f77' command and `f77.1' man page in
-     the `/usr' or `/usr/local' heirarchy, even if the `f77-install-ok'
-     file exists in the source or build directory.  See the
-     installation documentation for more information.
-
-   * `g77' no longer installs the `libf2c.a' library and `f2c.h'
-     include file in the `/usr' or `/usr/local' heirarchy, even if the
-     `f2c-install-ok' or `f2c-exists-ok' files exist in the source or
-     build directory.  See the installation documentation for more
-     information.
-
-   * The `libf2c.a' library produced by `g77' has been renamed to
-     `libg2c.a'.  It is installed only in the `gcc' "private" directory
-     heirarchy, `gcc-lib'.  This allows system administrators and users
-     to choose which version of the `libf2c' library from `netlib' they
-     wish to use on a case-by-case basis.  See the installation
-     documentation for more information.
-
-   * The `f2c.h' include (header) file produced by `g77' has been
-     renamed to `g2c.h'.  It is installed only in the `gcc' "private"
-     directory heirarchy, `gcc-lib'.  This allows system administrators
-     and users to choose which version of the include file from
-     `netlib' they wish to use on a case-by-case basis.  See the
-     installation documentation for more information.
-
-   * The `g77' command now expects the run-time library to be named
-     `libg2c.a' instead of `libf2c.a', to ensure that a version other
-     than the one built and installed as part of the same `g77' version
-     is picked up.
-
-   * The `-Wunused' option no longer issues a spurious warning about
-     the "master" procedure generated by `g77' for procedures
-     containing `ENTRY' statements.
-
-   * `g77''s version of `libf2c' separates out the setting of global
-     state (such as command-line arguments and signal handling) from
-     `main.o' into distinct, new library archive members.
-
-     This should make it easier to write portable applications that
-     have their own (non-Fortran) `main()' routine properly set up the
-     `libf2c' environment, even when `libf2c' (now `libg2c') is a
-     shared library.
-
-   * During the configuration and build process, `g77' creates
-     subdirectories it needs only as it needs them, thus avoiding
-     unnecessary creation of, for example, `stage1/f/runtime' when
-     doing a non-bootstrap build.  Other cleaning up of the
-     configuration and build process has been performed as well.
-
-   * `install-info' now used to update the directory of Info
-     documentation to contain an entry for `g77' (during installation).
-
-   * Some diagnostics have been changed from warnings to errors, to
-     prevent inadvertent use of the resulting, probably buggy, programs.
-     These mostly include diagnostics about use of unsupported features
-     in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and
-     about truncations of various sorts of constants.
-
-   * Improve documentation and indexing.
-
-   * Upgrade to `libf2c' as of 1998-04-20.
-
-     This should fix a variety of problems, including those involving
-     some uses of the `T' format specifier, and perhaps some build
-     (porting) problems as well.
-
-In 0.5.22 (versus 0.5.21):
-==========================
-
-   * Fix code generation for iterative `DO' loops that have one or more
-     references to the iteration variable, or to aliases of it, in
-     their control expressions.  For example, `DO 10 J=2,J' now is
-     compiled correctly.
-
-   * Fix a code-generation bug that afflicted Intel x86 targets when
-     `-O2' was specified compiling, for example, an old version of the
-     `DNRM2' routine.
-
-     The x87 coprocessor stack was being mismanaged in cases involving
-     assigned `GOTO' and `ASSIGN'.
-
-   * Fix `DTime' intrinsic so as not to truncate results to integer
-     values (on some systems).
-
-   * Fix `Signal' intrinsic so it offers portable support for 64-bit
-     systems (such as Digital Alphas running GNU/Linux).
-
-   * Fix run-time crash involving `NAMELIST' on 64-bit machines such as
-     Alphas.
-
-   * Fix `g77' version of `libf2c' so it no longer produces a spurious
-     `I/O recursion' diagnostic at run time when an I/O operation (such
-     as `READ *,I') is interrupted in a manner that causes the program
-     to be terminated via the `f_exit' routine (such as via `C-c').
-
-   * Fix `g77' crash triggered by `CASE' statement with an omitted
-     lower or upper bound.
-
-   * Fix `g77' crash compiling references to `CPU_Time' intrinsic.
-
-   * Fix `g77' crash (or apparently infinite run-time) when compiling
-     certain complicated expressions involving `COMPLEX' arithmetic
-     (especially multiplication).
-
-   * Fix `g77' crash on statements such as `PRINT *,
-     (REAL(Z(I)),I=1,2)', where `Z' is `DOUBLE COMPLEX'.
-
-   * Fix a `g++' crash.
-
-   * Support `FORMAT(I<EXPR>)' when EXPR is a compile-time constant
-     `INTEGER' expression.
-
-   * Fix `g77' `-g' option so procedures that use `ENTRY' can be
-     stepped through, line by line, in `gdb'.
-
-   * Fix a profiling-related bug in `gcc' back end for Intel x86
-     architecture.
-
-   * Allow any `REAL' argument to intrinsics `Second' and `CPU_Time'.
-
-   * Allow any numeric argument to intrinsics `Int2' and `Int8'.
-
-   * Use `tempnam', if available, to open scratch files (as in
-     `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment
-     variable, if present, is used.
-
-   * Rename the `gcc' keyword `restrict' to `__restrict__', to avoid
-     rejecting valid, existing, C programs.  Support for `restrict' is
-     now more like support for `complex'.
-
-   * Fix `-fpedantic' to not reject procedure invocations such as
-     `I=J()' and `CALL FOO()'.
-
-   * Fix `-fugly-comma' to affect invocations of only external
-     procedures.  Restore rejection of gratuitous trailing omitted
-     arguments to intrinsics, as in `I=MAX(3,4,,)'.
-
-   * Fix compiler so it accepts `-fgnu-intrinsics-*' and
-     `-fbadu77-intrinsics-*' options.
-
-   * Improve diagnostic messages from `libf2c' so it is more likely
-     that the printing of the active format string is limited to the
-     string, with no trailing garbage being printed.
-
-     (Unlike `f2c', `g77' did not append a null byte to its compiled
-     form of every format string specified via a `FORMAT' statement.
-     However, `f2c' would exhibit the problem anyway for a statement
-     like `PRINT '(I)garbage', 1' by printing `(I)garbage' as the
-     format string.)
-
-   * Improve compilation of `FORMAT' expressions so that a null byte is
-     appended to the last operand if it is a constant.  This provides a
-     cleaner run-time diagnostic as provided by `libf2c' for statements
-     like `PRINT '(I1', 42'.
-
-   * Fix various crashes involving code with diagnosed errors.
-
-   * Fix cross-compilation bug when configuring `libf2c'.
-
-   * Improve diagnostics.
-
-   * Improve documentation and indexing.
-
-   * Upgrade to `libf2c' as of 1997-09-23.  This fixes a formatted-I/O
-     bug that afflicted 64-bit systems with 32-bit integers (such as
-     Digital Alpha running GNU/Linux).
-
-In `egcs' 1.0.2 (versus `egcs' 1.0.1):
-======================================
-
-   * Fix `g77' crash triggered by `CASE' statement with an omitted
-     lower or upper bound.
-
-   * Fix `g77' crash on statements such as `PRINT *,
-     (REAL(Z(I)),I=1,2)', where `Z' is `DOUBLE COMPLEX'.
-
-   * Fix `-fPIC' (such as compiling for ELF targets) on the Intel x86
-     architecture target so invalid assembler code is no longer
-     produced.
-
-   * Fix `-fpedantic' to not reject procedure invocations such as
-     `I=J()' and `CALL FOO()'.
-
-   * Fix `-fugly-comma' to affect invocations of only external
-     procedures.  Restore rejection of gratuitous trailing omitted
-     arguments to intrinsics, as in `I=MAX(3,4,,)'.
-
-   * Fix compiler so it accepts `-fgnu-intrinsics-*' and
-     `-fbadu77-intrinsics-*' options.
-
-In `egcs' 1.0.1 (versus `egcs' 1.0):
-====================================
-
-   * Fix run-time crash involving `NAMELIST' on 64-bit machines such as
-     Alphas.
-
-In `egcs' 1.0 (versus 0.5.21):
-==============================
-
-   * Version 1.0 of `egcs' contains several regressions against version
-     0.5.21 of `g77', due to using the "vanilla" `gcc' back end instead
-     of patching it to fix a few bugs and improve performance in a few
-     cases.
-
-     *Note Actual Bugs We Haven't Fixed Yet: Actual Bugs, available in
-     plain-text format in `gcc/f/BUGS', for information on the known
-     bugs in this version, including the regressions.
-
-     Features that have been dropped from this version of `g77' due to
-     their being implemented via `g77'-specific patches to the `gcc'
-     back end in previous releases include:
-
-        - Support for the C-language `restrict' keyword.
-
-        - Support for the `-W' option warning about integer division by
-          zero.
-
-        - The Intel x86-specific option `-malign-double' applying to
-          stack-allocated data as well as statically-allocate data.
-
-     Note that the `gcc/f/gbe/' subdirectory has been removed from this
-     distribution as a result of `g77' being fully integrated with the
-     `egcs' variant of the `gcc' back end.
-
-   * Fix code generation for iterative `DO' loops that have one or more
-     references to the iteration variable, or to aliases of it, in
-     their control expressions.  For example, `DO 10 J=2,J' now is
-     compiled correctly.
-
-   * Fix `DTime' intrinsic so as not to truncate results to integer
-     values (on some systems).
-
-   * Some Fortran code, miscompiled by `g77' built on `gcc' version
-     2.8.1 on m68k-next-nextstep3 configurations when using the `-O2'
-     option, is now compiled correctly.  It is believed that a C
-     function known to miscompile on that configuration when using the
-     `-O2 -funroll-loops' options also is now compiled correctly.
-
-   * Remove support for non-`egcs' versions of `gcc'.
-
-   * Remove support for the `--driver' option, as `g77' now does all
-     the driving, just like `gcc'.
-
-   * Allow any numeric argument to intrinsics `Int2' and `Int8'.
-
-   * Improve diagnostic messages from `libf2c' so it is more likely
-     that the printing of the active format string is limited to the
-     string, with no trailing garbage being printed.
-
-     (Unlike `f2c', `g77' did not append a null byte to its compiled
-     form of every format string specified via a `FORMAT' statement.
-     However, `f2c' would exhibit the problem anyway for a statement
-     like `PRINT '(I)garbage', 1' by printing `(I)garbage' as the
-     format string.)
-
-   * Upgrade to `libf2c' as of 1997-09-23.  This fixes a formatted-I/O
-     bug that afflicted 64-bit systems with 32-bit integers (such as
-     Digital Alpha running GNU/Linux).
-
-In 0.5.21:
-==========
-
-   * Fix a code-generation bug introduced by 0.5.20 caused by loop
-     unrolling (by specifying `-funroll-loops' or similar).  This bug
-     afflicted all code compiled by version 2.7.2.2.f.2 of `gcc' (C,
-     C++, Fortran, and so on).
-
-   * Fix a code-generation bug manifested when combining local
-     `EQUIVALENCE' with a `DATA' statement that follows the first
-     executable statement (or is treated as an executable-context
-     statement as a result of using the `-fpedantic' option).
-
-   * Fix a compiler crash that occured when an integer division by a
-     constant zero is detected.  Instead, when the `-W' option is
-     specified, the `gcc' back end issues a warning about such a case.
-     This bug afflicted all code compiled by version 2.7.2.2.f.2 of
-     `gcc' (C, C++, Fortran, and so on).
-
-   * Fix a compiler crash that occurred in some cases of procedure
-     inlining.  (Such cases became more frequent in 0.5.20.)
-
-   * Fix a compiler crash resulting from using `DATA' or similar to
-     initialize a `COMPLEX' variable or array to zero.
-
-   * Fix compiler crashes involving use of `AND', `OR', or `XOR'
-     intrinsics.
-
-   * Fix compiler bug triggered when using a `COMMON' or `EQUIVALENCE'
-     variable as the target of an `ASSIGN' or assigned-`GOTO' statement.
-
-   * Fix compiler crashes due to using the name of a some non-standard
-     intrinsics (such as `FTELL' or `FPUTC') as such and as the name of
-     a procedure or common block.  Such dual use of a name in a program
-     is allowed by the standard.
-
-   * Place automatic arrays on the stack, even if `SAVE' or the
-     `-fno-automatic' option is in effect.  This avoids a compiler
-     crash in some cases.
-
-   * The `-malign-double' option now reliably aligns `DOUBLE PRECISION'
-     optimally on Pentium and Pentium Pro architectures (586 and 686 in
-     `gcc').
-
-   * New option `-Wno-globals' disables warnings about "suspicious" use
-     of a name both as a global name and as the implicit name of an
-     intrinsic, and warnings about disagreements over the number or
-     natures of arguments passed to global procedures, or the natures
-     of the procedures themselves.
-
-     The default is to issue such warnings, which are new as of this
-     version of `g77'.
-
-   * New option `-fno-globals' disables diagnostics about potentially
-     fatal disagreements analysis problems, such as disagreements over
-     the number or natures of arguments passed to global procedures, or
-     the natures of those procedures themselves.
-
-     The default is to issue such diagnostics and flag the compilation
-     as unsuccessful.  With this option, the diagnostics are issued as
-     warnings, or, if `-Wno-globals' is specified, are not issued at
-     all.
-
-     This option also disables inlining of global procedures, to avoid
-     compiler crashes resulting from coding errors that these
-     diagnostics normally would identify.
-
-   * Diagnose cases where a reference to a procedure disagrees with the
-     type of that procedure, or where disagreements about the number or
-     nature of arguments exist.  This avoids a compiler crash.
-
-   * Fix parsing bug whereby `g77' rejected a second initialization
-     specification immediately following the first's closing `/' without
-     an intervening comma in a `DATA' statement, and the second
-     specification was an implied-DO list.
-
-   * Improve performance of the `gcc' back end so certain complicated
-     expressions involving `COMPLEX' arithmetic (especially
-     multiplication) don't appear to take forever to compile.
-
-   * Fix a couple of profiling-related bugs in `gcc' back end.
-
-   * Integrate GNU Ada's (GNAT's) changes to the back end, which
-     consist almost entirely of bug fixes.  These fixes are circa
-     version 3.10p of GNAT.
-
-   * Include some other `gcc' fixes that seem useful in `g77''s version
-     of `gcc'.  (See `gcc/ChangeLog' for details--compare it to that
-     file in the vanilla `gcc-2.7.2.3.tar.gz' distribution.)
-
-   * Fix `libU77' routines that accept file and other names to strip
-     trailing blanks from them, for consistency with other
-     implementations.  Blanks may be forcibly appended to such names by
-     appending a single null character (`CHAR(0)') to the significant
-     trailing blanks.
-
-   * Fix `CHMOD' intrinsic to work with file names that have embedded
-     blanks, commas, and so on.
-
-   * Fix `SIGNAL' intrinsic so it accepts an optional third `Status'
-     argument.
-
-   * Fix `IDATE()' intrinsic subroutine (VXT form) so it accepts
-     arguments in the correct order.  Documentation fixed accordingly,
-     and for `GMTIME()' and `LTIME()' as well.
-
-   * Make many changes to `libU77' intrinsics to support existing code
-     more directly.
-
-     Such changes include allowing both subroutine and function forms
-     of many routines, changing `MCLOCK()' and `TIME()' to return
-     `INTEGER(KIND=1)' values, introducing `MCLOCK8()' and `TIME8()' to
-     return `INTEGER(KIND=2)' values, and placing functions that are
-     intended to perform side effects in a new intrinsic group,
-     `badu77'.
-
-   * Improve `libU77' so it is more portable.
-
-   * Add options `-fbadu77-intrinsics-delete',
-     `-fbadu77-intrinsics-hide', and so on.
-
-   * Fix crashes involving diagnosed or invalid code.
-
-   * `g77' and `gcc' now do a somewhat better job detecting and
-     diagnosing arrays that are too large to handle before these cause
-     diagnostics during the assembler or linker phase, a compiler
-     crash, or generation of incorrect code.
-
-   * Make some fixes to alias analysis code.
-
-   * Add support for `restrict' keyword in `gcc' front end.
-
-   * Support `gcc' version 2.7.2.3 (modified by `g77' into version
-     2.7.2.3.f.1), and remove support for prior versions of `gcc'.
-
-   * Incorporate GNAT's patches to the `gcc' back end into `g77''s, so
-     GNAT users do not need to apply GNAT's patches to build both GNAT
-     and `g77' from the same source tree.
-
-   * Modify `make' rules and related code so that generation of Info
-     documentation doesn't require compilation using `gcc'.  Now, any
-     ANSI C compiler should be adequate to produce the `g77'
-     documentation (in particular, the tables of intrinsics) from
-     scratch.
-
-   * Add `INT2' and `INT8' intrinsics.
-
-   * Add `CPU_TIME' intrinsic.
-
-   * Add `ALARM' intrinsic.
-
-   * `CTIME' intrinsic now accepts any `INTEGER' argument, not just
-     `INTEGER(KIND=2)'.
-
-   * Warn when explicit type declaration disagrees with the type of an
-     intrinsic invocation.
-
-   * Support `*f771' entry in `gcc' `specs' file.
-
-   * Fix typo in `make' rule `g77-cross', used only for cross-compiling.
-
-   * Fix `libf2c' build procedure to re-archive library if previous
-     attempt to archive was interrupted.
-
-   * Change `gcc' to unroll loops only during the last invocation (of
-     as many as two invocations) of loop optimization.
-
-   * Improve handling of `-fno-f2c' so that code that attempts to pass
-     an intrinsic as an actual argument, such as `CALL FOO(ABS)', is
-     rejected due to the fact that the run-time-library routine is,
-     effectively, compiled with `-ff2c' in effect.
-
-   * Fix `g77' driver to recognize `-fsyntax-only' as an option that
-     inhibits linking, just like `-c' or `-S', and to recognize and
-     properly handle the `-nostdlib', `-M', `-MM', `-nodefaultlibs',
-     and `-Xlinker' options.
-
-   * Upgrade to `libf2c' as of 1997-08-16.
-
-   * Modify `libf2c' to consistently and clearly diagnose recursive I/O
-     (at run time).
-
-   * `g77' driver now prints version information (such as produced by
-     `g77 -v') to `stderr' instead of `stdout'.
-
-   * The `.r' suffix now designates a Ratfor source file, to be
-     preprocessed via the `ratfor' command, available separately.
-
-   * Fix some aspects of how `gcc' determines what kind of system is
-     being configured and what kinds are supported.  For example, GNU
-     Linux/Alpha ELF systems now are directly supported.
-
-   * Improve diagnostics.
-
-   * Improve documentation and indexing.
-
-   * Include all pertinent files for `libf2c' that come from
-     `netlib.bell-labs.com'; give any such files that aren't quite
-     accurate in `g77''s version of `libf2c' the suffix `.netlib'.
-
-   * Reserve `INTEGER(KIND=0)' for future use.
-
-In 0.5.20:
-==========
-
-   * The `-fno-typeless-boz' option is now the default.
-
-     This option specifies that non-decimal-radix constants using the
-     prefixed-radix form (such as `Z'1234'') are to be interpreted as
-     `INTEGER' constants.  Specify `-ftypeless-boz' to cause such
-     constants to be interpreted as typeless.
-
-     (Version 0.5.19 introduced `-fno-typeless-boz' and its inverse.)
-
-   * Options `-ff90-intrinsics-enable' and `-fvxt-intrinsics-enable'
-     now are the defaults.
-
-     Some programs might use names that clash with intrinsic names
-     defined (and now enabled) by these options or by the new `libU77'
-     intrinsics.  Users of such programs might need to compile them
-     differently (using, for example, `-ff90-intrinsics-disable') or,
-     better yet, insert appropriate `EXTERNAL' statements specifying
-     that these names are not intended to be names of intrinsics.
-
-   * The `ALWAYS_FLUSH' macro is no longer defined when building
-     `libf2c', which should result in improved I/O performance,
-     especially over NFS.
-
-     *Note:* If you have code that depends on the behavior of `libf2c'
-     when built with `ALWAYS_FLUSH' defined, you will have to modify
-     `libf2c' accordingly before building it from this and future
-     versions of `g77'.
-
-   * Dave Love's implementation of `libU77' has been added to the
-     version of `libf2c' distributed with and built as part of `g77'.
-     `g77' now knows about the routines in this library as intrinsics.
-
-   * New option `-fvxt' specifies that the source file is written in
-     VXT Fortran, instead of GNU Fortran.
-
-   * The `-fvxt-not-f90' option has been deleted, along with its
-     inverse, `-ff90-not-vxt'.
-
-     If you used one of these deleted options, you should re-read the
-     pertinent documentation to determine which options, if any, are
-     appropriate for compiling your code with this version of `g77'.
-
-   * The `-fugly' option now issues a warning, as it likely will be
-     removed in a future version.
-
-     (Enabling all the `-fugly-*' options is unlikely to be feasible,
-     or sensible, in the future, so users should learn to specify only
-     those `-fugly-*' options they really need for a particular source
-     file.)
-
-   * The `-fugly-assumed' option, introduced in version 0.5.19, has
-     been changed to better accommodate old and new code.
-
-   * Make a number of fixes to the `g77' front end and the `gcc' back
-     end to better support Alpha (AXP) machines.  This includes
-     providing at least one bug-fix to the `gcc' back end for Alphas.
-
-   * Related to supporting Alpha (AXP) machines, the `LOC()' intrinsic
-     and `%LOC()' construct now return values of integer type that is
-     the same width (holds the same number of bits) as the pointer type
-     on the machine.
-
-     On most machines, this won't make a difference, whereas on Alphas,
-     the type these constructs return is `INTEGER*8' instead of the
-     more common `INTEGER*4'.
-
-   * Emulate `COMPLEX' arithmetic in the `g77' front end, to avoid bugs
-     in `complex' support in the `gcc' back end.  New option
-     `-fno-emulate-complex' causes `g77' to revert the 0.5.19 behavior.
-
-   * Fix bug whereby `REAL A(1)', for example, caused a compiler crash
-     if `-fugly-assumed' was in effect and A was a local (automatic)
-     array.  That case is no longer affected by the new handling of
-     `-fugly-assumed'.
-
-   * Fix `g77' command driver so that `g77 -o foo.f' no longer deletes
-     `foo.f' before issuing other diagnostics, and so the `-x' option
-     is properly handled.
-
-   * Enable inlining of subroutines and functions by the `gcc' back end.
-     This works as it does for `gcc' itself--program units may be
-     inlined for invocations that follow them in the same program unit,
-     as long as the appropriate compile-time options are specified.
-
-   * Dummy arguments are no longer assumed to potentially alias
-     (overlap) other dummy arguments or `COMMON' areas when any of
-     these are defined (assigned to) by Fortran code.
-
-     This can result in faster and/or smaller programs when compiling
-     with optimization enabled, though on some systems this effect is
-     observed only when `-fforce-addr' also is specified.
-
-     New options `-falias-check', `-fargument-alias',
-     `-fargument-noalias', and `-fno-argument-noalias-global' control
-     the way `g77' handles potential aliasing.
-
-   * The `CONJG()' and `DCONJG()' intrinsics now are compiled in-line.
-
-   * The bug-fix for 0.5.19.1 has been re-done.  The `g77' compiler has
-     been changed back to assume `libf2c' has no aliasing problems in
-     its implementations of the `COMPLEX' (and `DOUBLE COMPLEX')
-     intrinsics.  The `libf2c' has been changed to have no such
-     problems.
-
-     As a result, 0.5.20 is expected to offer improved performance over
-     0.5.19.1, perhaps as good as 0.5.19 in most or all cases, due to
-     this change alone.
-
-     *Note:* This change requires version 0.5.20 of `libf2c', at least,
-     when linking code produced by any versions of `g77' other than
-     0.5.19.1.  Use `g77 -v' to determine the version numbers of the
-     `libF77', `libI77', and `libU77' components of the `libf2c'
-     library.  (If these version numbers are not printed--in
-     particular, if the linker complains about unresolved references to
-     names like `g77__fvers__'--that strongly suggests your
-     installation has an obsolete version of `libf2c'.)
-
-   * New option `-fugly-assign' specifies that the same memory
-     locations are to be used to hold the values assigned by both
-     statements `I = 3' and `ASSIGN 10 TO I', for example.  (Normally,
-     `g77' uses a separate memory location to hold assigned statement
-     labels.)
-
-   * `FORMAT' and `ENTRY' statements now are allowed to precede
-     `IMPLICIT NONE' statements.
-
-   * Produce diagnostic for unsupported `SELECT CASE' on `CHARACTER'
-     type, instead of crashing, at compile time.
-
-   * Fix crashes involving diagnosed or invalid code.
-
-   * Change approach to building `libf2c' archive (`libf2c.a') so that
-     members are added to it only when truly necessary, so the user
-     that installs an already-built `g77' doesn't need to have write
-     access to the build tree (whereas the user doing the build might
-     not have access to install new software on the system).
-
-   * Support `gcc' version 2.7.2.2 (modified by `g77' into version
-     2.7.2.2.f.2), and remove support for prior versions of `gcc'.
-
-   * Upgrade to `libf2c' as of 1997-02-08, and fix up some of the build
-     procedures.
-
-   * Improve general build procedures for `g77', fixing minor bugs
-     (such as deletion of any file named `f771' in the parent directory
-     of `gcc/').
-
-   * Enable full support of `INTEGER*8' available in `libf2c' and
-     `f2c.h' so that `f2c' users may make full use of its features via
-     the `g77' version of `f2c.h' and the `INTEGER*8' support routines
-     in the `g77' version of `libf2c'.
-
-   * Improve `g77' driver and `libf2c' so that `g77 -v' yields version
-     information on the library.
-
-   * The `SNGL' and `FLOAT' intrinsics now are specific intrinsics,
-     instead of synonyms for the generic intrinsic `REAL'.
-
-   * New intrinsics have been added.  These are `REALPART', `IMAGPART',
-     `COMPLEX', `LONG', and `SHORT'.
-
-   * A new group of intrinsics, `gnu', has been added to contain the
-     new `REALPART', `IMAGPART', and `COMPLEX' intrinsics.  An old
-     group, `dcp', has been removed.
-
-   * Complain about industry-wide ambiguous references `REAL(EXPR)' and
-     `AIMAG(EXPR)', where EXPR is `DOUBLE COMPLEX' (or any complex type
-     other than `COMPLEX'), unless `-ff90' option specifies Fortran 90
-     interpretation or new `-fugly-complex' option, in conjunction with
-     `-fnot-f90', specifies `f2c' interpretation.
-
-   * Make improvements to diagnostics.
-
-   * Speed up compiler a bit.
-
-   * Improvements to documentation and indexing, including a new
-     chapter containing information on one, later more, diagnostics
-     that users are directed to pull up automatically via a message in
-     the diagnostic itself.
-
-     (Hence the menu item `M' for the node `Diagnostics' in the
-     top-level menu of the Info documentation.)
-
-In 0.5.19.1:
-============
-
-   * Code-generation bugs afflicting operations on complex data have
-     been fixed.
-
-     These bugs occurred when assigning the result of an operation to a
-     complex variable (or array element) that also served as an input
-     to that operation.
-
-     The operations affected by this bug were: `CONJG()', `DCONJG()',
-     `CCOS()', `CDCOS()', `CLOG()', `CDLOG()', `CSIN()', `CDSIN()',
-     `CSQRT()', `CDSQRT()', complex division, and raising a `DOUBLE
-     COMPLEX' operand to an `INTEGER' power.  (The related generic and
-     `Z'-prefixed intrinsics, such as `ZSIN()', also were affected.)
-
-     For example, `C = CSQRT(C)', `Z = Z/C', and `Z = Z**I' (where `C'
-     is `COMPLEX' and `Z' is `DOUBLE COMPLEX') have been fixed.
-
-In 0.5.19:
-==========
-
-   * Fix `FORMAT' statement parsing so negative values for specifiers
-     such as `P' (e.g. `FORMAT(-1PF8.1)') are correctly processed as
-     negative.
-
-   * Fix `SIGNAL' intrinsic so it once again accepts a procedure as its
-     second argument.
-
-   * A temporary kludge option provides bare-bones information on
-     `COMMON' and `EQUIVALENCE' members at debug time.
-
-   * New `-fonetrip' option specifies FORTRAN-66-style one-trip `DO'
-     loops.
-
-   * New `-fno-silent' option causes names of program units to be
-     printed as they are compiled, in a fashion similar to UNIX `f77'
-     and `f2c'.
-
-   * New `-fugly-assumed' option specifies that arrays dimensioned via
-     `DIMENSION X(1)', for example, are to be treated as assumed-size.
-
-   * New `-fno-typeless-boz' option specifies that non-decimal-radix
-     constants using the prefixed-radix form (such as `Z'1234'') are to
-     be interpreted as `INTEGER' constants.
-
-   * New `-ff66' option is a "shorthand" option that specifies
-     behaviors considered appropriate for FORTRAN 66 programs.
-
-   * New `-ff77' option is a "shorthand" option that specifies
-     behaviors considered appropriate for UNIX `f77' programs.
-
-   * New `-fugly-comma' and `-fugly-logint' options provided to perform
-     some of what `-fugly' used to do.  `-fugly' and `-fno-ugly' are
-     now "shorthand" options, in that they do nothing more than enable
-     (or disable) other `-fugly-*' options.
-
-   * Fix parsing of assignment statements involving targets that are
-     substrings of elements of `CHARACTER' arrays having names such as
-     `READ', `WRITE', `GOTO', and `REALFUNCTIONFOO'.
-
-   * Fix crashes involving diagnosed code.
-
-   * Fix handling of local `EQUIVALENCE' areas so certain cases of
-     valid Fortran programs are not misdiagnosed as improperly
-     extending the area backwards.
-
-   * Support `gcc' version 2.7.2.1.
-
-   * Upgrade to `libf2c' as of 1996-09-26, and fix up some of the build
-     procedures.
-
-   * Change code generation for list-directed I/O so it allows for new
-     versions of `libf2c' that might return non-zero status codes for
-     some operations previously assumed to always return zero.
-
-     This change not only affects how `IOSTAT=' variables are set by
-     list-directed I/O, it also affects whether `END=' and `ERR='
-     labels are reached by these operations.
-
-   * Add intrinsic support for new `FTELL' and `FSEEK' procedures in
-     `libf2c'.
-
-   * Modify `fseek_()' in `libf2c' to be more portable (though, in
-     practice, there might be no systems where this matters) and to
-     catch invalid `whence' arguments.
-
-   * Some useless warnings from the `-Wunused' option have been
-     eliminated.
-
-   * Fix a problem building the `f771' executable on AIX systems by
-     linking with the `-bbigtoc' option.
-
-   * Abort configuration if `gcc' has not been patched using the patch
-     file provided in the `gcc/f/gbe/' subdirectory.
-
-   * Add options `--help' and `--version' to the `g77' command, to
-     conform to GNU coding guidelines.  Also add printing of `g77'
-     version number when the `--verbose' (`-v') option is used.
-
-   * Change internally generated name for local `EQUIVALENCE' areas to
-     one based on the alphabetically sorted first name in the list of
-     names for entities placed at the beginning of the areas.
-
-   * Improvements to documentation and indexing.
-
-In 0.5.18:
-==========
-
-   * Add some rudimentary support for `INTEGER*1', `INTEGER*2',
-     `INTEGER*8', and their `LOGICAL' equivalents.  (This support works
-     on most, maybe all, `gcc' targets.)
-
-     Thanks to Scott Snyder (<snyder@d0sgif.fnal.gov>) for providing
-     the patch for this!
-
-     Among the missing elements from the support for these features are
-     full intrinsic support and constants.
-
-   * Add some rudimentary support for the `BYTE' and `WORD'
-     type-declaration statements.  `BYTE' corresponds to `INTEGER*1',
-     while `WORD' corresponds to `INTEGER*2'.
-
-     Thanks to Scott Snyder (<snyder@d0sgif.fnal.gov>) for providing
-     the patch for this!
-
-   * The compiler code handling intrinsics has been largely rewritten
-     to accommodate the new types.  No new intrinsics or arguments for
-     existing intrinsics have been added, so there is, at this point,
-     no intrinsic to convert to `INTEGER*8', for example.
-
-   * Support automatic arrays in procedures.
-
-   * Reduce space/time requirements for handling large *sparsely*
-     initialized aggregate arrays.  This improvement applies to only a
-     subset of the general problem to be addressed in 0.6.
-
-   * Treat initial values of zero as if they weren't specified (in DATA
-     and type-declaration statements).  The initial values will be set
-     to zero anyway, but the amount of compile time processing them
-     will be reduced, in some cases significantly (though, again, this
-     is only a subset of the general problem to be addressed in 0.6).
-
-     A new option, `-fzeros', is introduced to enable the traditional
-     treatment of zeros as any other value.
-
-   * With `-ff90' in force, `g77' incorrectly interpreted `REAL(Z)' as
-     returning a `REAL' result, instead of as a `DOUBLE PRECISION'
-     result.  (Here, `Z' is `DOUBLE COMPLEX'.)
-
-     With `-fno-f90' in force, the interpretation remains unchanged,
-     since this appears to be how at least some F77 code using the
-     `DOUBLE COMPLEX' extension expected it to work.
-
-     Essentially, `REAL(Z)' in F90 is the same as `DBLE(Z)', while in
-     extended F77, it appears to be the same as `REAL(REAL(Z))'.
-
-   * An expression involving exponentiation, where both operands were
-     type `INTEGER' and the right-hand operand was negative, was
-     erroneously evaluated.
-
-   * Fix bugs involving `DATA' implied-`DO' constructs (these involved
-     an errant diagnostic and a crash, both on good code, one involving
-     subsequent statement-function definition).
-
-   * Close `INCLUDE' files after processing them, so compiling source
-     files with lots of `INCLUDE' statements does not result in being
-     unable to open `INCLUDE' files after all the available file
-     descriptors are used up.
-
-   * Speed up compiling, especially of larger programs, and perhaps
-     slightly reduce memory utilization while compiling (this is *not*
-     the improvement planned for 0.6 involving large aggregate
-     areas)--these improvements result from simply turning off some
-     low-level code to do self-checking that hasn't been triggered in a
-     long time.
-
-   * Introduce three new options that implement optimizations in the
-     `gcc' back end (GBE).  These options are `-fmove-all-movables',
-     `-freduce-all-givs', and `-frerun-loop-opt', which are enabled, by
-     default, for Fortran compilations.  These optimizations are
-     intended to help toon Fortran programs.
-
-   * Patch the GBE to do a better job optimizing certain kinds of
-     references to array elements.
-
-   * Due to patches to the GBE, the version number of `gcc' also is
-     patched to make it easier to manage installations, especially
-     useful if it turns out a `g77' change to the GBE has a bug.
-
-     The `g77'-modified version number is the `gcc' version number with
-     the string `.f.N' appended, where `f' identifies the version as
-     enhanced for Fortran, and N is `1' for the first Fortran patch for
-     that version of `gcc', `2' for the second, and so on.
-
-     So, this introduces version 2.7.2.f.1 of `gcc'.
-
-   * Make several improvements and fixes to diagnostics, including the
-     removal of two that were inappropriate or inadequate.
-
-   * Warning about two successive arithmetic operators, produced by
-     `-Wsurprising', now produced *only* when both operators are,
-     indeed, arithmetic (not relational/boolean).
-
-   * `-Wsurprising' now warns about the remaining cases of using
-     non-integral variables for implied-`DO' loops, instead of these
-     being rejected unless `-fpedantic' or `-fugly' specified.
-
-   * Allow `SAVE' of a local variable or array, even after it has been
-     given an initial value via `DATA', for example.
-
-   * Introduce an Info version of `g77' documentation, which supercedes
-     `gcc/f/CREDITS', `gcc/f/DOC', and `gcc/f/PROJECTS'.  These files
-     will be removed in a future release.  The files `gcc/f/BUGS',
-     `gcc/f/INSTALL', and `gcc/f/NEWS' now are automatically built from
-     the texinfo source when distributions are made.
-
-     This effort was inspired by a first pass at translating
-     `g77-0.5.16/f/DOC' that was contributed to Craig by David Ronis
-     (<ronis@onsager.chem.mcgill.ca>).
-
-   * New `-fno-second-underscore' option to specify that, when
-     `-funderscoring' is in effect, a second underscore is not to be
-     appended to Fortran names already containing an underscore.
-
-   * Change the way iterative `DO' loops work to follow the F90
-     standard.  In particular, calculation of the iteration count is
-     still done by converting the start, end, and increment parameters
-     to the type of the `DO' variable, but the result of the
-     calculation is always converted to the default `INTEGER' type.
-
-     (This should have no effect on existing code compiled by `g77',
-     but code written to assume that use of a *wider* type for the `DO'
-     variable will result in an iteration count being fully calculated
-     using that wider type (wider than default `INTEGER') must be
-     rewritten.)
-
-   * Support `gcc' version 2.7.2.
-
-   * Upgrade to `libf2c' as of 1996-03-23, and fix up some of the build
-     procedures.
-
-     Note that the email addresses related to `f2c' have changed--the
-     distribution site now is named `netlib.bell-labs.com', and the
-     maintainer's new address is <dmg@bell-labs.com>.
-
-In 0.5.17:
-==========
-
-   * *Fix serious bug* in `g77 -v' command that can cause removal of a
-     system's `/dev/null' special file if run by user `root'.
-
-     *All users* of version 0.5.16 should ensure that they have not
-     removed `/dev/null' or replaced it with an ordinary file (e.g. by
-     comparing the output of `ls -l /dev/null' with `ls -l /dev/zero'.
-     If the output isn't basically the same, contact your system
-     administrator about restoring `/dev/null' to its proper status).
-
-     This bug is particularly insidious because removing `/dev/null' as
-     a special file can go undetected for quite a while, aside from
-     various applications and programs exhibiting sudden, strange
-     behaviors.
-
-     I sincerely apologize for not realizing the implications of the
-     fact that when `g77 -v' runs the `ld' command with `-o /dev/null'
-     that `ld' tries to *remove* the executable it is supposed to build
-     (especially if it reports unresolved references, which it should
-     in this case)!
-
-   * Fix crash on `CHARACTER*(*) FOO' in a main or block data program
-     unit.
-
-   * Fix crash that can occur when diagnostics given outside of any
-     program unit (such as when input file contains `@foo').
-
-   * Fix crashes, infinite loops (hangs), and such involving diagnosed
-     code.
-
-   * Fix `ASSIGN''ed variables so they can be `SAVE''d or dummy
-     arguments, and issue clearer error message in cases where target
-     of `ASSIGN' or `ASSIGN'ed `GOTO'/`FORMAT' is too small (which
-     should never happen).
-
-   * Make `libf2c' build procedures work on more systems again by
-     eliminating unnecessary invocations of `ld -r -x' and `mv'.
-
-   * Fix omission of `-funix-intrinsics-...' options in list of
-     permitted options to compiler.
-
-   * Fix failure to always diagnose missing type declaration for
-     `IMPLICIT NONE'.
-
-   * Fix compile-time performance problem (which could sometimes crash
-     the compiler, cause a hang, or whatever, due to a bug in the back
-     end) involving exponentiation with a large `INTEGER' constant for
-     the right-hand operator (e.g. `I**32767').
-
-   * Fix build procedures so cross-compiling `g77' (the `fini' utility
-     in particular) is properly built using the host compiler.
-
-   * Add new `-Wsurprising' option to warn about constructs that are
-     interpreted by the Fortran standard (and `g77') in ways that are
-     surprising to many programmers.
-
-   * Add `ERF()' and `ERFC()' as generic intrinsics mapping to existing
-     `ERF'/`DERF' and `ERFC'/`DERFC' specific intrinsics.
-
-     *Note:* You should specify `INTRINSIC ERF,ERFC' in any code where
-     you might use these as generic intrinsics, to improve likelihood
-     of diagnostics (instead of subtle run-time bugs) when using a
-     compiler that doesn't support these as intrinsics (e.g. `f2c').
-
-   * Remove from `-fno-pedantic' the diagnostic about `DO' with
-     non-`INTEGER' index variable; issue that under `-Wsurprising'
-     instead.
-
-   * Clarify some diagnostics that say things like "ignored" when that's
-     misleading.
-
-   * Clarify diagnostic on use of `.EQ.'/`.NE.' on `LOGICAL' operands.
-
-   * Minor improvements to code generation for various operations on
-     `LOGICAL' operands.
-
-   * Minor improvement to code generation for some `DO' loops on some
-     machines.
-
-   * Support `gcc' version 2.7.1.
-
-   * Upgrade to `libf2c' as of 1995-11-15.
-
-In 0.5.16:
-==========
-
-   * Fix a code-generation bug involving complicated `EQUIVALENCE'
-     statements not involving `COMMON'.
-
-   * Fix code-generation bugs involving invoking "gratis" library
-     procedures in `libf2c' from code compiled with `-fno-f2c' by
-     making these procedures known to `g77' as intrinsics (not affected
-     by -fno-f2c).  This is known to fix code invoking `ERF()',
-     `ERFC()', `DERF()', and `DERFC()'.
-
-   * Update `libf2c' to include netlib patches through 1995-08-16, and
-     `#define' `WANT_LEAD_0' to 1 to make `g77'-compiled code more
-     consistent with other Fortran implementations by outputting
-     leading zeros in formatted and list-directed output.
-
-   * Fix a code-generation bug involving adjustable dummy arrays with
-     high bounds whose primaries are changed during procedure
-     execution, and which might well improve code-generation
-     performance for such arrays compared to `f2c' plus `gcc' (but
-     apparently only when using `gcc-2.7.0' or later).
-
-   * Fix a code-generation bug involving invocation of `COMPLEX' and
-     `DOUBLE COMPLEX' `FUNCTION's and doing `COMPLEX' and `DOUBLE
-     COMPLEX' divides, when the result of the invocation or divide is
-     assigned directly to a variable that overlaps one or more of the
-     arguments to the invocation or divide.
-
-   * Fix crash by not generating new optimal code for `X**I' if `I' is
-     nonconstant and the expression is used to dimension a dummy array,
-     since the `gcc' back end does not support the necessary mechanics
-     (and the `gcc' front end rejects the equivalent construct, as it
-     turns out).
-
-   * Fix crash on expressions like `COMPLEX**INTEGER'.
-
-   * Fix crash on expressions like `(1D0,2D0)**2', i.e. raising a
-     `DOUBLE COMPLEX' constant to an `INTEGER' constant power.
-
-   * Fix crashes and such involving diagnosed code.
-
-   * Diagnose, instead of crashing on, statement function definitions
-     having duplicate dummy argument names.
-
-   * Fix bug causing rejection of good code involving statement function
-     definitions.
-
-   * Fix bug resulting in debugger not knowing size of local equivalence
-     area when any member of area has initial value (via `DATA', for
-     example).
-
-   * Fix installation bug that prevented installation of `g77' driver.
-     Provide for easy selection of whether to install copy of `g77' as
-     `f77' to replace the broken code.
-
-   * Fix `gcc' driver (affects `g77' thereby) to not gratuitously
-     invoke the `f771' program (e.g. when `-E' is specified).
-
-   * Fix diagnostic to point to correct source line when it immediately
-     follows an `INCLUDE' statement.
-
-   * Support more compiler options in `gcc'/`g77' when compiling
-     Fortran files.  These options include `-p', `-pg', `-aux-info',
-     `-P', correct setting of version-number macros for preprocessing,
-     full recognition of `-O0', and automatic insertion of
-     configuration-specific linker specs.
-
-   * Add new intrinsics that interface to existing routines in `libf2c':
-     `ABORT', `DERF', `DERFC', `ERF', `ERFC', `EXIT', `FLUSH',
-     `GETARG', `GETENV', `IARGC', `SIGNAL', and `SYSTEM'.  Note that
-     `ABORT', `EXIT', `FLUSH', `SIGNAL', and `SYSTEM' are intrinsic
-     subroutines, not functions (since they have side effects), so to
-     get the return values from `SIGNAL' and `SYSTEM', append a final
-     argument specifying an `INTEGER' variable or array element (e.g.
-     `CALL SYSTEM('rm foo',ISTAT)').
-
-   * Add new intrinsic group named `unix' to contain the new intrinsics,
-     and by default enable this new group.
-
-   * Move `LOC()' intrinsic out of the `vxt' group to the new `unix'
-     group.
-
-   * Improve `g77' so that `g77 -v' by itself (or with certain other
-     options, including `-B', `-b', `-i', `-nostdlib', and `-V')
-     reports lots more useful version info, and so that long-form
-     options `gcc' accepts are understood by `g77' as well (even in
-     truncated, unambiguous forms).
-
-   * Add new `g77' option `--driver=name' to specify driver when
-     default, `gcc', isn't appropriate.
-
-   * Add support for `#' directives (as output by the preprocessor) in
-     the compiler, and enable generation of those directives by the
-     preprocessor (when compiling `.F' files) so diagnostics and
-     debugging info are more useful to users of the preprocessor.
-
-   * Produce better diagnostics, more like `gcc', with info such as `In
-     function `foo':' and `In file included from...:'.
-
-   * Support `gcc''s `-fident' and `-fno-ident' options.
-
-   * When `-Wunused' in effect, don't warn about local variables used as
-     statement-function dummy arguments or `DATA' implied-`DO' iteration
-     variables, even though, strictly speaking, these are not uses of
-     the variables themselves.
-
-   * When `-W -Wunused' in effect, don't warn about unused dummy
-     arguments at all, since there's no way to turn this off for
-     individual cases (`g77' might someday start warning about
-     these)--applies to `gcc' versions 2.7.0 and later, since earlier
-     versions didn't warn about unused dummy arguments.
-
-   * New option `-fno-underscoring' that inhibits transformation of
-     names (by appending one or two underscores) so users may experiment
-     with implications of such an environment.
-
-   * Minor improvement to `gcc/f/info' module to make it easier to build
-     `g77' using the native (non-`gcc') compiler on certain machines
-     (but definitely not all machines nor all non-`gcc' compilers).
-     Please do not report bugs showing problems compilers have with
-     macros defined in `gcc/f/target.h' and used in places like
-     `gcc/f/expr.c'.
-
-   * Add warning to be printed for each invocation of the compiler if
-     the target machine `INTEGER', `REAL', or `LOGICAL' size is not 32
-     bits, since `g77' is known to not work well for such cases (to be
-     fixed in Version 0.6--*note Actual Bugs We Haven't Fixed Yet:
-     Actual Bugs.).
-
-   * Lots of new documentation (though work is still needed to put it
-     into canonical GNU format).
-
-   * Build `libf2c' with `-g0', not `-g2', in effect (by default), to
-     produce smaller library without lots of debugging clutter.
-
-In 0.5.15:
-==========
-
-   * Fix bad code generation involving `X**I' and temporary, internal
-     variables generated by `g77' and the back end (such as for `DO'
-     loops).
-
-   * Fix crash given `CHARACTER A;DATA A/.TRUE./'.
-
-   * Replace crash with diagnostic given `CHARACTER A;DATA A/1.0/'.
-
-   * Fix crash or other erratic behavior when null character constant
-     (`''') is encountered.
-
-   * Fix crash or other erratic behavior involving diagnosed code.
-
-   * Fix code generation for external functions returning type `REAL'
-     when the `-ff2c' option is in force (which it is by default) so
-     that `f2c' compatibility is indeed provided.
-
-   * Disallow `COMMON I(10)' if `I' has previously been specified with
-     an array declarator.
-
-   * New `-ffixed-line-length-N' option, where N is the maximum length
-     of a typical fixed-form line, defaulting to 72 columns, such that
-     characters beyond column N are ignored, or N is `none', meaning no
-     characters are ignored.  does not affect lines with `&' in column
-     1, which are always processed as if `-ffixed-line-length-none' was
-     in effect.
-
-   * No longer generate better code for some kinds of array references,
-     as `gcc' back end is to be fixed to do this even better, and it
-     turned out to slow down some code in some cases after all.
-
-   * In `COMMON' and `EQUIVALENCE' areas with any members given initial
-     values (e.g. via `DATA'), uninitialized members now always
-     initialized to binary zeros (though this is not required by the
-     standard, and might not be done in future versions of `g77').
-     Previously, in some `COMMON'/`EQUIVALENCE' areas (essentially
-     those with members of more than one type), the uninitialized
-     members were initialized to spaces, to cater to `CHARACTER' types,
-     but it seems no existing code expects that, while much existing
-     code expects binary zeros.
-
-In 0.5.14:
-==========
-
-   * Don't emit bad code when low bound of adjustable array is
-     nonconstant and thus might vary as an expression at run time.
-
-   * Emit correct code for calculation of number of trips in `DO' loops
-     for cases where the loop should not execute at all.  (This bug
-     affected cases where the difference between the begin and end
-     values was less than the step count, though probably not for
-     floating-point cases.)
-
-   * Fix crash when extra parentheses surround item in `DATA'
-     implied-`DO' list.
-
-   * Fix crash over minor internal inconsistencies in handling
-     diagnostics, just substitute dummy strings where necessary.
-
-   * Fix crash on some systems when compiling call to `MVBITS()'
-     intrinsic.
-
-   * Fix crash on array assignment `TYPEDDD(...)=...', where DDD is a
-     string of one or more digits.
-
-   * Fix crash on `DCMPLX()' with a single `INTEGER' argument.
-
-   * Fix various crashes involving code with diagnosed errors.
-
-   * Support `-I' option for `INCLUDE' statement, plus `gcc''s
-     `header.gcc' facility for handling systems like MS-DOS.
-
-   * Allow `INCLUDE' statement to be continued across multiple lines,
-     even allow it to coexist with other statements on the same line.
-
-   * Incorporate Bellcore fixes to `libf2c' through 1995-03-15--this
-     fixes a bug involving infinite loops reading EOF with empty
-     list-directed I/O list.
-
-   * Remove all the `g77'-specific auto-configuration scripts, code,
-     and so on, except for temporary substitutes for bsearch() and
-     strtoul(), as too many configure/build problems were reported in
-     these areas.  People will have to fix their systems' problems
-     themselves, or at least somewhere other than `g77', which expects
-     a working ANSI C environment (and, for now, a GNU C compiler to
-     compile `g77' itself).
-
-   * Complain if initialized common redeclared as larger in subsequent
-     program unit.
-
-   * Warn if blank common initialized, since its size can vary and hence
-     related warnings that might be helpful won't be seen.
-
-   * New `-fbackslash' option, on by default, that causes `\' within
-     `CHARACTER' and Hollerith constants to be interpreted a la GNU C.
-     Note that this behavior is somewhat different from `f2c''s, which
-     supports only a limited subset of backslash (escape) sequences.
-
-   * Make `-fugly-args' the default.
-
-   * New `-fugly-init' option, on by default, that allows
-     typeless/Hollerith to be specified as initial values for variables
-     or named constants (`PARAMETER'), and also allows
-     character<->numeric conversion in those contexts--turn off via
-     `-fno-ugly-init'.
-
-   * New `-finit-local-zero' option to initialize local variables to
-     binary zeros.  This does not affect whether they are `SAVE'd, i.e.
-     made automatic or static.
-
-   * New `-Wimplicit' option to warn about implicitly typed variables,
-     arrays, and functions.  (Basically causes all program units to
-     default to `IMPLICIT NONE'.)
-
-   * `-Wall' now implies `-Wuninitialized' as with `gcc' (i.e. unless
-     `-O' not specified, since `-Wuninitialized' requires `-O'), and
-     implies `-Wunused' as well.
-
-   * `-Wunused' no longer gives spurious messages for unused `EXTERNAL'
-     names (since they are assumed to refer to block data program
-     units, to make use of libraries more reliable).
-
-   * Support `%LOC()' and `LOC()' of character arguments.
-
-   * Support null (zero-length) character constants and expressions.
-
-   * Support `f2c''s `IMAG()' generic intrinsic.
-
-   * Support `ICHAR()', `IACHAR()', and `LEN()' of character
-     expressions that are valid in assignments but not normally as
-     actual arguments.
-
-   * Support `f2c'-style `&' in column 1 to mean continuation line.
-
-   * Allow `NAMELIST', `EXTERNAL', `INTRINSIC', and `VOLATILE' in
-     `BLOCK DATA', even though these are not allowed by the standard.
-
-   * Allow `RETURN' in main program unit.
-
-   * Changes to Hollerith-constant support to obey Appendix C of the
-     standard:
-
-        - Now padded on the right with zeros, not spaces.
-
-        - Hollerith "format specifications" in the form of arrays of
-          non-character allowed.
-
-        - Warnings issued when non-space truncation occurs when
-          converting to another type.
-
-        - When specified as actual argument, now passed by reference to
-          `INTEGER' (padded on right with spaces if constant too small,
-          otherwise fully intact if constant wider the `INTEGER' type)
-          instead of by value.
-
-     *Warning:* `f2c' differs on the interpretation of `CALL FOO(1HX)',
-     which it treats exactly the same as `CALL FOO('X')', but which the
-     standard and `g77' treat as `CALL FOO(%REF('X   '))' (padded with
-     as many spaces as necessary to widen to `INTEGER'), essentially.
-
-   * Changes and fixes to typeless-constant support:
-
-        - Now treated as a typeless double-length `INTEGER' value.
-
-        - Warnings issued when overflow occurs.
-
-        - Padded on the left with zeros when converting to a larger
-          type.
-
-        - Should be properly aligned and ordered on the target machine
-          for whatever type it is turned into.
-
-        - When specified as actual argument, now passed as reference to
-          a default `INTEGER' constant.
-
-   * `%DESCR()' of a non-`CHARACTER' expression now passes a pointer to
-     the expression plus a length for the expression just as if it were
-     a `CHARACTER' expression.  For example, `CALL FOO(%DESCR(D))',
-     where `D' is `REAL*8', is the same as `CALL FOO(D,%VAL(8)))'.
-
-   * Name of multi-entrypoint master function changed to incorporate
-     the name of the primary entry point instead of a decimal value, so
-     the name of the master function for `SUBROUTINE X' with alternate
-     entry points is now `__g77_masterfun_x'.
-
-   * Remove redundant message about zero-step-count `DO' loops.
-
-   * Clean up diagnostic messages, shortening many of them.
-
-   * Fix typo in `g77' man page.
-
-   * Clarify implications of constant-handling bugs in `f/BUGS'.
-
-   * Generate better code for `**' operator with a right-hand operand of
-     type `INTEGER'.
+ 25. Upgrade to `libf2c' as of 1998-06-18.
 
-   * Generate better code for `SQRT()' and `DSQRT()', also when
-     `-ffast-math' specified, enable better code generation for `SIN()'
-     and `COS()'.
+ 26. Improve documentation and indexing.
 
-   * Generate better code for some kinds of array references.
+In previous versions:
+=====================
 
-   * Speed up lexing somewhat (this makes the compilation phase
-     noticeably faster).
+   Information on previous versions is not provided in this
+`egcs/gcc/f/NEWS' file, to keep it short.  See `egcs/gcc/f/news.texi',
+or any of its other derivations (Info, HTML, dvi forms) for such
+information.