970811

This directory contains .diff files for various GNU CC distributions
supported by this version of GNU Fortran.

The name of a file includes which gcc version to which it applies.
For example, 2.7.2.2.diff is the patch file for gcc version 2.7.2.2.

To apply a .diff file to, say, gcc 2.7.2.2, one might use the following
command (where the current directory contains the gcc source distribution
after merging into it the g77 source distribution, which would be
named gcc-2.7.2.2 in this example):

    patch -p1 -d gcc-2.7.2.2 < gcc-2.7.2.2/f/gbe/2.7.2.2.diff


This version of g77 is best combined with gcc versions 2.7.2.2.

However, note that applying any of these patches does _not_ update
the gcc.info* files that constitute the Info documentation for gcc.
Therefore, after applying the patch, you must rebuild the Info
documentation yourself via:

  cd gcc; make -f Makefile.in gcc.info

If the above command doesn't work because you don't have makeinfo
installed, you are STRONGLY encouraged to obtain the most recent
version of the GNU texinfo package (texinfo-3.11.tar.gz as of this
writing), build, and install it, then try the above command (as
makeinfo is part of texinfo).

This distribution of g77 is not supported for versions of gcc prior
to 2.7.2.2.

If you are using a version of gcc more recent than the most
recent .diff file's version, try the most recent .diff ONLY
if the difference is in the third field.  E.g. the above
patch might work on gcc-2.7.3 or gcc-2.7.4 if these were
released.  On the other hand, it probably wouldn't work for
a more major release like gcc-2.8.0 or gcc-3.0.0, and you
shouldn't try it.  If the .diff file is missing, don't bother
asking <fortran@gnu.ai.mit.edu> for it -- it is certainly
being worked on.  In the meantime, watch our progress at
<ftp://alpha.gnu.ai.mit.edu/g77.plan> for information on support
for the recent versions of gcc.
