]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/f/news.texi
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / f / news.texi
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
deleted file mode 100644 (file)
index 37b08d9..0000000
+++ /dev/null
@@ -1,3107 +0,0 @@
-@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-@c  Free Software Foundation, Inc.
-@c This is part of the G77 manual.
-@c For copying conditions, see the file g77.texi.
-
-@c The text of this file appears in the file NEWS
-@c in the G77 distribution, as well as in the G77 manual.
-
-@c Keep this the same as the dates above, since it's used
-@c in the standalone derivations of this file (e.g. NEWS).
-@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002
-
-@set last-update-news 2002-10-28
-
-@include root.texi
-
-@ifset DOC-NEWS
-@c The immediately following lines apply to the NEWS file
-@c which is derived from this file.
-@emph{Note:} This file is automatically generated from the files
-@file{news0.texi} and @file{news.texi}.
-@file{NEWS} is @emph{not} a source file,
-although it is normally included within source distributions.
-
-This file lists news about the @value{which-g77} version
-(and some other versions) of the GNU Fortran compiler.
-Copyright (C) @value{copyrights-news} Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-@node Top,,, (dir)
-@chapter News About GNU Fortran
-@end ifset
-
-@ifset DOC-G77
-@ifset USERVISONLY
-@node Changes
-@chapter User-visible Changes
-@cindex versions, recent
-@cindex recent versions
-@cindex changes, user-visible
-@cindex user-visible changes
-
-This chapter describes changes to @command{g77} that are visible
-to the programmers who actually write and maintain Fortran
-code they compile with @command{g77}.
-Information on changes to installation procedures,
-changes to the documentation, and bug fixes is
-not provided here, unless it is likely to affect how
-users use @command{g77}.
-@xref{News,,News About GNU Fortran}, for information on
-such changes to @command{g77}.
-@end ifset
-
-@ifclear USERVISONLY
-@node News
-@chapter News About GNU Fortran
-@cindex versions, recent
-@cindex recent versions
-@end ifclear
-@end ifset
-
-@ifclear USERVISONLY
-Changes made to recent versions of GNU Fortran are listed
-below, with the most recent version first.
-
-The changes are generally listed in order:
-
-@enumerate
-@item
-Code-generation and run-time-library bug-fixes
-
-@item
-Compiler and run-time-library crashes involving valid code
-that have been fixed
-
-@item
-New features
-
-@item
-Fixes and enhancements to existing features
-
-@item
-New diagnostics
-
-@item
-Internal improvements
-
-@item
-Miscellany
-@end enumerate
-
-This order is not strict---for example, some items
-involve a combination of these elements.
-@end ifclear
-
-Note that two variants of @command{g77} are tracked below.
-The @code{egcs} variant is described vis-a-vis
-previous versions of @code{egcs} and/or
-an official FSF version, as appropriate.
-Note that all such variants are obsolete @emph{as of July 1999} -
-the information is retained here only for its historical value.
-
-Therefore, @code{egcs} versions sometimes have multiple listings
-to help clarify how they differ from other versions,
-though this can make getting a complete picture
-of what a particular @code{egcs} version contains
-somewhat more difficult.
-
-@ifset DOC-G77
-For information on bugs in the @value{which-g77} version of @command{g77},
-see @ref{Known Bugs,,Known Bugs In GNU Fortran}.
-@end ifset
-
-@ifset DOC-BUGS
-For information on bugs in the @value{which-g77} version of @command{g77},
-see @file{@value{path-g77}/BUGS}.
-@end ifset
-
-@ifset DEVELOPMENT
-@emph{Warning:} The information below is still under development,
-and might not accurately reflect the @command{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 @emph{released} @command{g77}.
-
-In particular, while this information is intended to apply to
-the @value{which-g77} version of @command{g77},
-only an official @emph{release} of that version
-is expected to contain documentation that is
-most consistent with the @command{g77} product in that version.
-
-Nevertheless, information on @emph{previous} releases of @command{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 @command{g77} versions up-to-date.
-@end ifset
-
-@ifclear USERVISONLY
-An online, ``live'' version of this document
-(derived directly from the mainline, development version
-of @command{g77} within @command{gcc})
-is available at
-@uref{http://www.gnu.org/software/gcc/onlinedocs/g77/News.html}.
-@end ifclear
-
-The following information was last updated on @value{last-update-news}:
-
-@heading In @code{GCC} 3.2 versus @code{GCC} 3.1:
-@itemize @bullet
-@item
-Problem Reports fixed (in chronological order of submission):
-@table @code
-@item 8308
-gcc-3.x does not compile files with suffix .r (RATFOR) [Fixed in 3.2.1]
-@end table
-@end itemize
-
-@heading In @code{GCC} 3.1 (formerly known as g77-0.5.27) versus @code{GCC} 3.0:
-@itemize @bullet
-@item
-Problem Reports fixed (in chronological order of submission):
-@table @code
-@item 947
-Data statement initialization with subscript of kind INTEGER*2
-@item 3743
-Reference to intrinsic `ISHFT' invalid
-@item 3807
-Function BESJN(integer,double) problems
-@item 3957
-g77 -pipe -xf77-cpp-input sends output to stdout
-@item 4279
-g77 -h" gives bogus output
-@item 4730
-ICE on valid input using CALL EXIT(%VAL(...))
-@item 4752
-g77 -v -c -xf77-version /dev/null -xnone causes ice
-@item 4885
-BACKSPACE example that doesn't work as of gcc/g77-3.0.x
-@item 5122
-g77 rejects accepted use of INTEGER*2 as type of DATA statement loop index
-@item 5397
-ICE on compiling source with 540 000 000 REAL array
-@item 5473
-ICE on BESJN(integer*8,real)
-@item 5837
-bug in loop unrolling
-@end table
-
-@item
-@command{g77} now has its man page generated from the texinfo documentation,
-to guarantee that it remains up to date.
-
-@item
-@command{g77} used to reject the following program on 32-bit targets:
-@smallexample
-PROGRAM PROG
-DIMENSION A(140 000 000)
-END
-@end smallexample
-with the message:
-@smallexample
-prog.f: In program `prog':
-prog.f:2: 
-         DIMENSION A(140 000 000)
-                   ^
-Array `a' at (^) is too large to handle
-@end smallexample
-because 140 000 000 REALs is larger than the largest bit-extent that can be
-expressed in 32 bits.  However, bit-sizes never play a role after offsets
-have been converted to byte addresses.  Therefore this check has been removed,
-and the limit is now 2 Gbyte of memory (around 530 000 000 REALs).
-Note: On GNU/Linux systems one has to compile programs that occupy more
-than 1 Gbyte statically, i.e.@: @code{g77 -static ...}.
-
-@item
-Based on work done by Juergen Pfeifer (@email{juergen.pfeifer@@gmx.net})
-libf2c is now a shared library.  One can still link in all objects with
-the program by specifying the @option{-static} option.
-
-@item
-Robert Anderson (@email{rwa@@alumni.princeton.edu}) thought up a two
-line change that enables g77 to compile such code as:
-@smallexample
-SUBROUTINE SUB(A, N)
-DIMENSION N(2)
-DIMENSION A(N(1),N(2))
-A(1,1) = 1.
-END
-@end smallexample
-Note the use of array elements in the bounds of the adjustable array A.
-
-@item
-George Helffrich (@email{george@@geo.titech.ac.jp}) implemented a change
-in substring index checking (when specifying @option{-fbounds-check})
-that permits the use of zero length substrings of the form
-@code{string(1:0)}.
-
-@item
-Based on code developed by Pedro Vazquez (@email{vazquez@@penelope.iqm.unicamp.br}),
-the @code{libf2c} library is now able to read and write files larger than
-2 Gbyte on 32-bit target machines, if the operating system supports this.
-@end itemize
-
-@heading In 0.5.26, @code{GCC} 3.0 versus @code{GCC} 2.95:
-@itemize @bullet
-@item
-When a REWIND was issued after a WRITE statement on an unformatted
-file, the implicit truncation was performed by copying the truncated
-file to /tmp and copying the result back.  This has been fixed by using
-the @code{ftruncate} OS function.  Thanks go to the GAMESS developers
-for bringing this to our attention.
-
-@item
-Using options @option{-g}, @option{-ggdb} or @option{-gdwarf[-2]} (where
-appropriate for your target) now also enables debugging information
-for COMMON BLOCK and EQUIVALENCE items to be emitted.
-Thanks go to Andrew Vaught (@email{andy@@xena.eas.asu.edu}) and
-George Helffrich (@email{george@@geology.bristol.ac.uk}) for
-fixing this longstanding problem.
-
-@item
-It is not necessary anymore to use the option @option{-femulate-complex}
-to compile Fortran code using COMPLEX arithmetic, even on 64-bit machines
-(like the Alpha).  This will improve code generation.
-
-@item
-INTRINSIC arithmetic functions are now treated as routines that do not
-depend on anything but their argument(s).  This enables further instruction
-scheduling, because it is known that they cannot read or modify arbitrary
-locations.
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 2000-12-05.
-
-This fixes a bug where a namelist containing initialization of LOGICAL
-items and a variable starting with T or F would be read incorrectly.
-
-@item
-The @code{TtyNam} intrinsics now set @var{Name} to all spaces (at run time)
-if the system has no @code{ttyname} implementation available.
-
-@item
-Upgrade to @code{libf2c} as of 1999-06-28.
-
-This fixes a bug whereby
-input to a @code{NAMELIST} read involving a repeat count,
-such as @samp{K(5)=10*3},
-was not properly handled by @code{libf2c}.
-The first item was written to @samp{K(5)},
-but the remaining nine were written elsewhere (still within the array),
-not necessarily starting at @samp{K(6)}.
-@end ifclear
-@end itemize
-
-@heading In 0.5.25, @code{GCC} 2.95 (@code{EGCS} 1.2) versus @code{EGCS} 1.1.2:
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-@command{g77} no longer generates bad code for assignments,
-or other conversions,
-of @code{REAL} or @code{COMPLEX} constant expressions
-to type @code{INTEGER(KIND=2)}
-(often referred to as @code{INTEGER*8}).
-
-For example, @samp{INTEGER*8 J; J = 4E10} now works as documented.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer truncates @code{INTEGER(KIND=2)}
-(usually @code{INTEGER*8})
-subscript expressions when evaluating array references
-on systems with pointers widers than @code{INTEGER(KIND=1)}
-(such as Alphas).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer generates bad code
-for an assignment to a @code{COMPLEX} variable or array
-that partially overlaps one or more of the sources
-of the same assignment
-(a very rare construction).
-It now assigns through a temporary,
-in cases where such partial overlap is deemed possible.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@code{libg2c} (@code{libf2c}) no longer loses track
-of the file being worked on
-during a @code{BACKSPACE} operation.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@code{libg2c} (@code{libf2c}) fixes a bug whereby
-input to a @code{NAMELIST} read involving a repeat count,
-such as @samp{K(5)=10*3},
-was not properly handled by @code{libf2c}.
-The first item was written to @samp{K(5)},
-but the remaining nine were written elsewhere (still within the array),
-not necessarily starting at @samp{K(6)}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@c Tim Prince reported this, regarding the TEST_FPU benchmark.
-Automatic arrays now seem to be working on HP-UX systems.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @code{Date} intrinsic now returns the correct result
-on big-endian systems.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} so it no longer crashes when compiling
-I/O statements using keywords that define @code{INTEGER} values,
-such as @samp{IOSTAT=@var{j}},
-where @var{j} is other than default @code{INTEGER}
-(such as @code{INTEGER*2}).
-Instead, it issues a diagnostic.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} so it properly handles @samp{DATA A/@var{rpt}*@var{val}/},
-where @var{rpt} is not default @code{INTEGER}, such as @code{INTEGER*2},
-instead of producing a spurious diagnostic.
-Also fix @samp{DATA (A(I),I=1,N)},
-where @samp{N} is not default @code{INTEGER}
-to work instead of crashing @command{g77}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @option{-ax} option is now obeyed when compiling Fortran programs.
-(It is passed to the @file{f771} driver.)
-@end ifclear
-
-@item
-The new @option{-fbounds-check} option
-causes @command{g77} to compile run-time bounds checks
-of array subscripts, as well as of substring start and end points.
-
-@item
-@code{libg2c} now supports building as multilibbed library,
-which provides better support for systems
-that require options such as @option{-mieee}
-to work properly.
-
-@item
-Source file names with the suffixes @samp{.FOR} and @samp{.FPP}
-now are recognized by @command{g77}
-as if they ended in @samp{.for} and @samp{.fpp}, respectively.
-
-@item
-The order of arguments to the @emph{subroutine} forms of the
-@code{CTime}, @code{DTime}, @code{ETime}, and @code{TtyNam}
-intrinsics has been swapped.
-The argument serving as the returned value
-for the corresponding function forms
-now is the @emph{second} argument,
-making these consistent with the other subroutine forms
-of @code{libU77} intrinsics.
-
-@item
-@command{g77} now warns about a reference to an intrinsic
-that has an interface that is not Year 2000 (Y2K) compliant.
-Also, @code{libg2c} has been changed to increase the likelihood
-of catching references to the implementations of these intrinsics
-using the @code{EXTERNAL} mechanism
-(which would avoid the new warnings).
-
-@ifset DOC-G77
-@xref{Year 2000 (Y2K) Problems}, for more information.
-@end ifset
-
-@ifclear USERVISONLY
-@item
-@command{g77} now warns about a reference to a function
-when the corresponding @emph{subsequent} function program unit
-disagrees with the reference concerning the type of the function.
-@end ifclear
-
-@item
-@option{-fno-emulate-complex} is now the default option.
-This should result in improved performance
-of code that uses the @code{COMPLEX} data type.
-
-@cindex alignment
-@cindex double-precision performance
-@cindex -malign-double
-@item
-The @option{-malign-double} option
-now reliably aligns @emph{all} double-precision variables and arrays
-on Intel x86 targets.
-
-@ifclear USERVISONLY
-@item
-Even without the @option{-malign-double} option,
-@command{g77} reliably aligns local double-precision variables
-that are not in @code{EQUIVALENCE} areas
-and not @code{SAVE}'d.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} now open-codes (``inlines'') division of @code{COMPLEX} operands
-instead of generating a run-time call to
-the @code{libf2c} routines @code{c_div} or @code{z_div},
-unless the @option{-Os} option is specified.
-@end ifclear
-
-@item
-@command{g77} no longer generates code to maintain @code{errno},
-a C-language concept,
-when performing operations such as the @code{SqRt} intrinsic.
-
-@ifclear USERVISONLY
-@item
-@command{g77} developers can temporarily use
-the @option{-fflatten-arrays} option
-to compare how the compiler handles code generation
-using C-like constructs as compared to the
-Fortran-like method constructs normally used.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-A substantial portion of the @command{g77} front end's code-generation component
-was rewritten.
-It now generates code using facilities more robustly supported
-by the @command{gcc} back end.
-One effect of this rewrite is that some codes no longer produce
-a spurious ``label @var{lab} used before containing binding contour''
-message.
-@end ifclear
-
-@item
-Support for the @option{-fugly} option has been removed.
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing,
-including information on Year 2000 (Y2K) compliance,
-and providing more information on internals of the front end.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 1999-05-10.
-@end ifclear
-@end itemize
-
-@heading In 0.5.24 versus 0.5.23:
-
-There is no @command{g77} version 0.5.24 at this time,
-or planned.
-0.5.24 is the version number designated for bug fixes and,
-perhaps, some new features added,
-to 0.5.23.
-Version 0.5.23 requires @command{gcc} 2.8.1,
-as 0.5.24 was planned to require.
-
-Due to @code{EGCS} becoming @code{GCC}
-(which is now an acronym for ``GNU Compiler Collection''),
-and @code{EGCS} 1.2 becoming officially designated @code{GCC} 2.95,
-there seems to be no need for an actual 0.5.24 release.
-
-To reduce the confusion already resulting from use of 0.5.24
-to designate @command{g77} versions within @code{EGCS} versions 1.0 and 1.1,
-as well as in versions of @command{g77} documentation and notices
-during that period,
-``mainline'' @command{g77} version numbering resumes
-at 0.5.25 with @code{GCC} 2.95 (@code{EGCS} 1.2),
-skipping over 0.5.24 as a placeholder version number.
-
-To repeat, there is no @command{g77} 0.5.24, but there is now a 0.5.25.
-Please remain calm and return to your keypunch units.
-
-@c 1999-03-15: EGCS 1.1.2 released.
-@heading In @code{EGCS} 1.1.2 versus @code{EGCS} 1.1.1:
-@ifclear USERVISONLY
-@itemize @bullet
-@item
-Fix the @code{IDate} intrinsic (VXT) (in @code{libg2c})
-so the returned year is in the documented, non-Y2K-compliant range
-of 0-99,
-instead of being returned as 100 in the year 2000.
-
-@ifset DOC-G77
-@xref{IDate Intrinsic (VXT)},
-for more information.
-@end ifset
-
-@item
-Fix the @code{Date_and_Time} intrinsic (in @code{libg2c})
-to return the milliseconds value properly
-in @var{Values}(8).
-
-@item
-Fix the @code{LStat} intrinsic (in @code{libg2c})
-to return device-ID information properly
-in @var{SArray}(7).
-
-@item
-Improve documentation.
-@end itemize
-@end ifclear
-
-@c 1998-12-04: EGCS 1.1.1 released.
-@heading In @code{EGCS} 1.1.1 versus @code{EGCS} 1.1:
-@ifclear USERVISONLY
-@itemize @bullet
-@item
-Fix @code{libg2c} so it performs an implicit @code{ENDFILE} operation
-(as appropriate)
-whenever a @code{REWIND} is done.
-
-(This bug was introduced in 0.5.23 and @code{egcs} 1.1 in
-@command{g77}'s version of @code{libf2c}.)
-
-@item
-Fix @code{libg2c} so it no longer crashes with a spurious diagnostic
-upon doing any I/O following a direct formatted write.
-
-(This bug was introduced in 0.5.23 and @code{egcs} 1.1 in
-@command{g77}'s version of @code{libf2c}.)
-
-@item
-Fix @command{g77} so it no longer crashes compiling references
-to the @code{Rand} intrinsic on some systems.
-
-@item
-Fix @command{g77} portion of installation process so it works
-better on some systems
-(those with shells requiring @samp{else true} clauses
-on @code{if} constructs
-for the completion code to be set properly).
-@end itemize
-@end ifclear
-
-@c 1998-09-03: EGCS 1.1 released.
-@heading In @code{EGCS} 1.1 versus @code{EGCS} 1.0.3:
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-Fix bugs in the @code{libU77} intrinsic @code{HostNm}
-that wrote one byte beyond the end of its @code{CHARACTER}
-argument,
-and in the @code{libU77} intrinsics
-@code{GMTime} and @code{LTime}
-that overwrote their arguments.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Assumed arrays with negative bounds
-(such as @samp{REAL A(-1:*)})
-no longer elicit spurious diagnostics from @command{g77},
-even on systems with pointers having
-different sizes than integers.
-
-This bug is not known to have existed in any
-recent version of @command{gcc}.
-It was introduced in an early release of @code{egcs}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Valid combinations of @code{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 @command{g77}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@code{CASE DEFAULT} no longer crashes @command{g77}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @option{-Wunused} option no longer issues a spurious
-warning about the ``master'' procedure generated by
-@command{g77} for procedures containing @code{ENTRY} statements.
-@end ifclear
-
-@item
-Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
-compile-time constant @code{INTEGER} expression.
-
-@item
-Fix @command{g77} @option{-g} option so procedures that
-use @code{ENTRY} can be stepped through, line by line,
-in @command{gdb}.
-
-@item
-Allow any @code{REAL} argument to intrinsics
-@code{Second} and @code{CPU_Time}.
-
-@item
-Use @code{tempnam}, if available, to open scratch files
-(as in @samp{OPEN(STATUS='SCRATCH')})
-so that the @code{TMPDIR} environment variable,
-if present, is used.
-
-@item
-@command{g77}'s version of @code{libf2c} separates out
-the setting of global state
-(such as command-line arguments and signal handling)
-from @file{main.o} into distinct, new library
-archive members.
-
-This should make it easier to write portable applications
-that have their own (non-Fortran) @code{main()} routine
-properly set up the @code{libf2c} environment, even
-when @code{libf2c} (now @code{libg2c}) is a shared library.
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer installs the @file{f77} command
-and @file{f77.1} man page
-in the @file{/usr} or @file{/usr/local} hierarchy,
-even if the @file{f77-install-ok} file exists
-in the source or build directory.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer installs the @file{libf2c.a} library
-and @file{f2c.h} include file
-in the @file{/usr} or @file{/usr/local} hierarchy,
-even if the @file{f2c-install-ok} or @file{f2c-exists-ok} files exist
-in the source or build directory.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @file{libf2c.a} library produced by @command{g77} has been
-renamed to @file{libg2c.a}.
-It is installed only in the @command{gcc} ``private''
-directory hierarchy, @file{gcc-lib}.
-This allows system administrators and users to choose which
-version of the @code{libf2c} library from @code{netlib} they
-wish to use on a case-by-case basis.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @file{f2c.h} include (header) file produced by @command{g77}
-has been renamed to @file{g2c.h}.
-It is installed only in the @command{gcc} ``private''
-directory hierarchy, @file{gcc-lib}.
-This allows system administrators and users to choose which
-version of the include file from @code{netlib} they
-wish to use on a case-by-case basis.
-See the installation documentation for more information.
-@end ifclear
-
-@item
-The @command{g77} command now expects the run-time library
-to be named @code{libg2c.a} instead of @code{libf2c.a},
-to ensure that a version other than the one built and
-installed as part of the same @command{g77} version is picked up.
-
-@ifclear USERVISONLY
-@item
-During the configuration and build process,
-@command{g77} creates subdirectories it needs only as it
-needs them.
-Other cleaning up of the configuration and build process
-has been performed as well.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@code{install-info} now used to update the directory of
-Info documentation to contain an entry for @command{g77}
-(during installation).
-@end ifclear
-
-@item
-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 @code{OPEN}, @code{INQUIRE}, @code{READ}, and
-@code{WRITE} statements,
-and about truncations of various sorts of constants.
-
-@ifclear USERVISONLY
-@item
-Improve compilation of @code{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 @code{libf2c} for statements like @samp{PRINT '(I1', 42}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The upgrade to @code{libf2c} as of 1998-06-18
-should fix a variety of problems, including
-those involving some uses of the @code{T} format
-specifier, and perhaps some build (porting) problems
-as well.
-@end ifclear
-@end itemize
-
-@c 1998-09-03: EGCS 1.1 released.
-@heading In @code{EGCS} 1.1 versus @command{g77} 0.5.23:
-@itemize @bullet
-@ifclear USERVISONLY
-@cindex DNRM2
-@cindex stack, 387 coprocessor
-@cindex Intel x86
-@cindex -O2
-@item
-Fix a code-generation bug that afflicted
-Intel x86 targets when @option{-O2} was specified
-compiling, for example, an old version of
-the @code{DNRM2} routine.
-
-The x87 coprocessor stack was being
-mismanaged in cases involving assigned @code{GOTO}
-and @code{ASSIGN}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer produces incorrect code
-and initial values
-for @code{EQUIVALENCE} and @code{COMMON}
-aggregates that, due to ``unnatural'' ordering of members
-vis-a-vis their types, require initial padding.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash compiling code
-containing the construct @samp{CMPLX(0.)} or similar.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer crashes when compiling code
-containing specification statements such as
-@samp{INTEGER(KIND=7) PTR}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer crashes when compiling code
-such as @samp{J = SIGNAL(1, 2)}.
-@end ifclear
-
-@item
-@command{g77} now treats @samp{%LOC(@var{expr})} and
-@samp{LOC(@var{expr})} as ``ordinary'' expressions
-when they are used as arguments in procedure calls.
-This change applies only to global (filewide) analysis,
-making it consistent with
-how @command{g77} actually generates code
-for these cases.
-
-Previously, @command{g77} treated these expressions
-as denoting special ``pointer'' arguments
-for the purposes of filewide analysis.
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash
-(or apparently infinite run-time)
-when compiling certain complicated expressions
-involving @code{COMPLEX} arithmetic
-(especially multiplication).
-@end ifclear
-
-@cindex alignment
-@cindex double-precision performance
-@cindex -malign-double
-@item
-Align static double-precision variables and arrays
-on Intel x86 targets
-regardless of whether @option{-malign-double} is specified.
-
-Generally, this affects only local variables and arrays
-having the @code{SAVE} attribute
-or given initial values via @code{DATA}.
-
-@item
-The @command{g77} driver now ensures that @option{-lg2c}
-is specified in the link phase prior to any
-occurrence of @option{-lm}.
-This prevents accidentally linking to a routine
-in the SunOS4 @option{-lm} library
-when the generated code wants to link to the one
-in @code{libf2c} (@code{libg2c}).
-
-@item
-@command{g77} emits more debugging information when
-@option{-g} is used.
-
-This new information allows, for example,
-@kbd{which __g77_length_a} to be used in @command{gdb}
-to determine the type of the phantom length argument
-supplied with @code{CHARACTER} variables.
-
-This information pertains to internally-generated
-type, variable, and other information,
-not to the longstanding deficiencies vis-a-vis
-@code{COMMON} and @code{EQUIVALENCE}.
-
-@item
-The F90 @code{Date_and_Time} intrinsic now is
-supported.
-
-@item
-The F90 @code{System_Clock} intrinsic allows
-the optional arguments (except for the @code{Count}
-argument) to be omitted.
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 1998-06-18.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing.
-@end ifclear
-@end itemize
-
-@ifset DOC-NEWS
-@heading In previous versions:
-
-Information on previous versions is not provided
-in this @file{@value{path-g77}/NEWS} file,
-to keep it short.
-See @file{@value{path-g77}/news.texi},
-or any of its other derivations
-(Info, HTML, dvi forms)
-for such information.
-@end ifset
-
-@ifclear DOC-NEWS
-@c 1998-05-20: 0.5.23 released.
-@heading In 0.5.23 versus 0.5.22:
-@itemize @bullet
-@item
-This release contains several regressions against
-version 0.5.22 of @command{g77}, due to using the
-``vanilla'' @command{gcc} back end instead of patching
-it to fix a few bugs and improve performance in a
-few cases.
-
-Features that have been dropped from this version
-of @command{g77} due to their being implemented
-via @command{g77}-specific patches to the @command{gcc}
-back end in previous releases include:
-
-@itemize @minus
-@item
-Support for @code{__restrict__} keyword,
-the options @option{-fargument-alias}, @option{-fargument-noalias},
-and @option{-fargument-noalias-global},
-and the corresponding alias-analysis code.
-
-(@code{egcs} has the alias-analysis
-code, but not the @code{__restrict__} keyword.
-@code{egcs} @command{g77} users benefit from the alias-analysis
-code despite the lack of the @code{__restrict__} keyword,
-which is a C-language construct.)
-
-@item
-Support for the GNU compiler options
-@option{-fmove-all-movables},
-@option{-freduce-all-givs},
-and @option{-frerun-loop-opt}.
-
-(@code{egcs} supports these options.
-@command{g77} users of @code{egcs} benefit from them even if
-they are not explicitly specified,
-because the defaults are optimized for @command{g77} users.)
-
-@item
-Support for the @option{-W} option warning about
-integer division by zero.
-
-@item
-The Intel x86-specific option @option{-malign-double}
-applying to stack-allocated data
-as well as statically-allocate data.
-@end itemize
-
-@ifclear USERVISONLY
-Note that the @file{gcc/f/gbe/} subdirectory has been removed
-from this distribution as a result of @command{g77} no longer
-including patches for the @command{gcc} back end.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix bugs in the @code{libU77} intrinsic @code{HostNm}
-that wrote one byte beyond the end of its @code{CHARACTER}
-argument,
-and in the @code{libU77} intrinsics
-@code{GMTime} and @code{LTime}
-that overwrote their arguments.
-@end ifclear
-
-@item
-Support @command{gcc} version 2.8,
-and remove support for prior versions of @command{gcc}.
-
-@cindex -@w{}-driver option
-@cindex @command{g77} options, -@w{}-driver
-@cindex options, -@w{}-driver
-@item
-Remove support for the @option{--driver} option,
-as @command{g77} now does all the driving,
-just like @command{gcc}.
-
-@ifclear USERVISONLY
-@item
-@code{CASE DEFAULT} no longer crashes @command{g77}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Valid combinations of @code{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 @command{g77}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer installs the @file{f77} command
-and @file{f77.1} man page
-in the @file{/usr} or @file{/usr/local} hierarchy,
-even if the @file{f77-install-ok} file exists
-in the source or build directory.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} no longer installs the @file{libf2c.a} library
-and @file{f2c.h} include file
-in the @file{/usr} or @file{/usr/local} hierarchy,
-even if the @file{f2c-install-ok} or @file{f2c-exists-ok} files exist
-in the source or build directory.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @file{libf2c.a} library produced by @command{g77} has been
-renamed to @file{libg2c.a}.
-It is installed only in the @command{gcc} ``private''
-directory hierarchy, @file{gcc-lib}.
-This allows system administrators and users to choose which
-version of the @code{libf2c} library from @code{netlib} they
-wish to use on a case-by-case basis.
-See the installation documentation for more information.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @file{f2c.h} include (header) file produced by @command{g77}
-has been renamed to @file{g2c.h}.
-It is installed only in the @command{gcc} ``private''
-directory hierarchy, @file{gcc-lib}.
-This allows system administrators and users to choose which
-version of the include file from @code{netlib} they
-wish to use on a case-by-case basis.
-See the installation documentation for more information.
-@end ifclear
-
-@item
-The @command{g77} command now expects the run-time library
-to be named @code{libg2c.a} instead of @code{libf2c.a},
-to ensure that a version other than the one built and
-installed as part of the same @command{g77} version is picked up.
-
-@ifclear USERVISONLY
-@item
-The @option{-Wunused} option no longer issues a spurious
-warning about the ``master'' procedure generated by
-@command{g77} for procedures containing @code{ENTRY} statements.
-@end ifclear
-
-@item
-@command{g77}'s version of @code{libf2c} separates out
-the setting of global state
-(such as command-line arguments and signal handling)
-from @file{main.o} into distinct, new library
-archive members.
-
-This should make it easier to write portable applications
-that have their own (non-Fortran) @code{main()} routine
-properly set up the @code{libf2c} environment, even
-when @code{libf2c} (now @code{libg2c}) is a shared library.
-
-@ifclear USERVISONLY
-@item
-During the configuration and build process,
-@command{g77} creates subdirectories it needs only as it
-needs them, thus avoiding unnecessary creation of, for example,
-@file{stage1/f/runtime} when doing a non-bootstrap build.
-Other cleaning up of the configuration and build process
-has been performed as well.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@code{install-info} now used to update the directory of
-Info documentation to contain an entry for @command{g77}
-(during installation).
-@end ifclear
-
-@item
-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 @code{OPEN}, @code{INQUIRE}, @code{READ}, and
-@code{WRITE} statements,
-and about truncations of various sorts of constants.
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 1998-04-20.
-
-This should fix a variety of problems, including
-those involving some uses of the @code{T} format
-specifier, and perhaps some build (porting) problems
-as well.
-@end ifclear
-@end itemize
-
-@c 1998-03-16: 0.5.22 released.
-@heading In 0.5.22 versus 0.5.21:
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-Fix code generation for iterative @code{DO} loops that
-have one or more references to the iteration variable,
-or to aliases of it, in their control expressions.
-For example, @samp{DO 10 J=2,J} now is compiled correctly.
-@end ifclear
-
-@ifclear USERVISONLY
-@cindex DNRM2
-@cindex stack, 387 coprocessor
-@cindex Intel x86
-@cindex -O2
-@item
-Fix a code-generation bug that afflicted
-Intel x86 targets when @option{-O2} was specified
-compiling, for example, an old version of
-the @code{DNRM2} routine.
-
-The x87 coprocessor stack was being
-mismanaged in cases involving assigned @code{GOTO}
-and @code{ASSIGN}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @code{DTime} intrinsic so as not to truncate
-results to integer values (on some systems).
-@end ifclear
-
-@item
-Fix @code{Signal} intrinsic so it offers portable
-support for 64-bit systems (such as Digital Alphas
-running GNU/Linux).
-
-@ifclear USERVISONLY
-@item
-Fix run-time crash involving @code{NAMELIST} on 64-bit
-machines such as Alphas.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} version of @code{libf2c} so it no longer
-produces a spurious @samp{I/O recursion} diagnostic at run time
-when an I/O operation (such as @samp{READ *,I}) is interrupted
-in a manner that causes the program to be terminated
-via the @code{f_exit} routine (such as via @kbd{C-c}).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash triggered by @code{CASE} statement with
-an omitted lower or upper bound.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash compiling references to @code{CPU_Time}
-intrinsic.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash
-(or apparently infinite run-time)
-when compiling certain complicated expressions
-involving @code{COMPLEX} arithmetic
-(especially multiplication).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash on statements such as
-@samp{PRINT *, (REAL(Z(I)),I=1,2)}, where
-@samp{Z} is @code{DOUBLE COMPLEX}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix a @command{g++} crash.
-@end ifclear
-
-@item
-Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
-compile-time constant @code{INTEGER} expression.
-
-@item
-Fix @command{g77} @option{-g} option so procedures that
-use @code{ENTRY} can be stepped through, line by line,
-in @command{gdb}.
-
-@ifclear USERVISONLY
-@item
-Fix a profiling-related bug in @command{gcc} back end for
-Intel x86 architecture.
-@end ifclear
-
-@item
-Allow any @code{REAL} argument to intrinsics
-@code{Second} and @code{CPU_Time}.
-
-@item
-Allow any numeric argument to intrinsics
-@code{Int2} and @code{Int8}.
-
-@item
-Use @code{tempnam}, if available, to open scratch files
-(as in @samp{OPEN(STATUS='SCRATCH')})
-so that the @code{TMPDIR} environment variable,
-if present, is used.
-
-@item
-Rename the @command{gcc} keyword @code{restrict} to
-@code{__restrict__}, to avoid rejecting valid, existing,
-C programs.
-Support for @code{restrict} is now more like support
-for @code{complex}.
-
-@ifclear USERVISONLY
-@item
-Fix @option{-fpedantic} to not reject procedure invocations
-such as @samp{I=J()} and @samp{CALL FOO()}.
-@end ifclear
-
-@item
-Fix @option{-fugly-comma} to affect invocations of
-only external procedures.
-Restore rejection of gratuitous trailing omitted
-arguments to intrinsics, as in @samp{I=MAX(3,4,,)}.
-
-@item
-Fix compiler so it accepts @option{-fgnu-intrinsics-*} and
-@option{-fbadu77-intrinsics-*} options.
-
-@ifclear USERVISONLY
-@item
-Improve diagnostic messages from @code{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 @command{f2c}, @command{g77} did not append
-a null byte to its compiled form of every
-format string specified via a @code{FORMAT} statement.
-However, @command{f2c} would exhibit the problem
-anyway for a statement like @samp{PRINT '(I)garbage', 1}
-by printing @samp{(I)garbage} as the format string.)
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve compilation of @code{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 @code{libf2c} for statements like @samp{PRINT '(I1', 42}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix various crashes involving code with diagnosed errors.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix cross-compilation bug when configuring @code{libf2c}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve diagnostics.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{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).
-@end ifclear
-@end itemize
-
-@c 1998-03-18: EGCS 1.0.2 released.
-@heading In @code{EGCS} 1.0.2 versus @code{EGCS} 1.0.1:
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash triggered by @code{CASE} statement with
-an omitted lower or upper bound.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} crash on statements such as
-@samp{PRINT *, (REAL(Z(I)),I=1,2)}, where
-@samp{Z} is @code{DOUBLE COMPLEX}.
-@end ifclear
-
-@ifclear USERVISONLY
-@cindex ELF support
-@cindex support, ELF
-@cindex -fPIC option
-@cindex options, -fPIC
-@item
-Fix @option{-fPIC} (such as compiling for ELF targets)
-on the Intel x86 architecture target
-so invalid assembler code is no longer produced.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @option{-fpedantic} to not reject procedure invocations
-such as @samp{I=J()} and @samp{CALL FOO()}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @option{-fugly-comma} to affect invocations of
-only external procedures.
-Restore rejection of gratuitous trailing omitted
-arguments to intrinsics, as in @samp{I=MAX(3,4,,)}.
-@end ifclear
-
-@item
-Fix compiler so it accepts @option{-fgnu-intrinsics-*} and
-@option{-fbadu77-intrinsics-*} options.
-@end itemize
-
-@c 1998-01-06: EGCS 1.0.1 released.
-@heading In @code{EGCS} 1.0.1 versus @code{EGCS} 1.0:
-@ifclear USERVISONLY
-@itemize @bullet
-@item
-Fix run-time crash involving @code{NAMELIST} on 64-bit
-machines such as Alphas.
-@end itemize
-@end ifclear
-
-@c 1997-12-03: EGCS 1.0 released.
-@heading In @code{EGCS} 1.0 versus @command{g77} 0.5.21:
-@itemize @bullet
-@item
-Version 1.0 of @code{egcs}
-contains several regressions against
-version 0.5.21 of @command{g77},
-due to using the
-``vanilla'' @command{gcc} back end instead of patching
-it to fix a few bugs and improve performance in a
-few cases.
-
-Features that have been dropped from this version
-of @command{g77} due to their being implemented
-via @command{g77}-specific patches to the @command{gcc}
-back end in previous releases include:
-
-@itemize @minus
-@item
-Support for the C-language @code{restrict} keyword.
-
-@item
-Support for the @option{-W} option warning about
-integer division by zero.
-
-@item
-The Intel x86-specific option @option{-malign-double}
-applying to stack-allocated data
-as well as statically-allocate data.
-@end itemize
-
-@ifclear USERVISONLY
-Note that the @file{gcc/f/gbe/} subdirectory has been removed
-from this distribution as a result of @command{g77}
-being fully integrated with
-the @code{egcs} variant of the @command{gcc} back end.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix code generation for iterative @code{DO} loops that
-have one or more references to the iteration variable,
-or to aliases of it, in their control expressions.
-For example, @samp{DO 10 J=2,J} now is compiled correctly.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @code{DTime} intrinsic so as not to truncate
-results to integer values (on some systems).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@c Toon Moene discovered these.
-Some Fortran code, miscompiled
-by @command{g77} built on @command{gcc} version 2.8.1
-on m68k-next-nextstep3 configurations
-when using the @option{-O2} option,
-is now compiled correctly.
-It is believed that a C function known to miscompile
-on that configuration
-when using the @samp{-O2 -funroll-loops} options
-also is now compiled correctly.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Remove support for non-@code{egcs} versions of @command{gcc}.
-@end ifclear
-
-@cindex -@w{}-driver option
-@cindex @command{g77} options, -@w{}-driver
-@cindex options, -@w{}-driver
-@item
-Remove support for the @option{--driver} option,
-as @command{g77} now does all the driving,
-just like @command{gcc}.
-
-@item
-Allow any numeric argument to intrinsics
-@code{Int2} and @code{Int8}.
-
-@ifclear USERVISONLY
-@item
-Improve diagnostic messages from @code{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 @command{f2c}, @command{g77} did not append
-a null byte to its compiled form of every
-format string specified via a @code{FORMAT} statement.
-However, @code{f2c} would exhibit the problem
-anyway for a statement like @samp{PRINT '(I)garbage', 1}
-by printing @samp{(I)garbage} as the format string.)
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{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).
-@end ifclear
-@end itemize
-
-@c 1997-09-09: 0.5.21 released.
-@heading In 0.5.21:
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-Fix a code-generation bug introduced by 0.5.20
-caused by loop unrolling (by specifying
-@option{-funroll-loops} or similar).
-This bug afflicted all code compiled by
-version 2.7.2.2.f.2 of @command{gcc} (C, C++,
-Fortran, and so on).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix a code-generation bug manifested when
-combining local @code{EQUIVALENCE} with a
-@code{DATA} statement that follows
-the first executable statement (or is
-treated as an executable-context statement
-as a result of using the @option{-fpedantic}
-option).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix a compiler crash that occurred when an
-integer division by a constant zero is detected.
-Instead, when the @option{-W} option is specified,
-the @command{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 @command{gcc} (C, C++,
-Fortran, and so on).
-@end ifclear
-@ifset USERVISONLY
-@item
-When the @option{-W} option is specified, @command{gcc}, @command{g77},
-and other GNU compilers that incorporate the @command{gcc}
-back end as modified by @command{g77}, issue
-a warning about integer division by constant zero.
-@end ifset
-
-@ifclear USERVISONLY
-@item
-Fix a compiler crash that occurred in some cases
-of procedure inlining.
-(Such cases became more frequent in 0.5.20.)
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix a compiler crash resulting from using @code{DATA}
-or similar to initialize a @code{COMPLEX} variable or
-array to zero.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix compiler crashes involving use of @code{AND}, @code{OR},
-or @code{XOR} intrinsics.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix compiler bug triggered when using a @code{COMMON}
-or @code{EQUIVALENCE} variable
-as the target of an @code{ASSIGN}
-or assigned-@code{GOTO} statement.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix compiler crashes due to using the name of a some
-non-standard intrinsics (such as @code{FTell} or
-@code{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.
-@end ifclear
-
-@c @command{g77}'s version of @code{libf2c} has been modified
-@c so that the external names of library's procedures do not
-@c conflict with names used for Fortran procedures compiled
-@c by @command{g77}.
-@c An additional layer of jacket procedures has been added
-@c to @code{libf2c} to map the old names to the new names,
-@c for automatic use by programs that interface to the
-@c library procedures via the external-procedure mechanism.
-@c 
-@c For example, the intrinsic @code{FPUTC} previously was
-@c implemented by @command{g77} as a call to the @code{libf2c}
-@c routine @code{fputc_}.
-@c This would conflict with a Fortran procedure named @code{FPUTC}
-@c (using default compiler options), and this conflict
-@c would cause a crash under certain circumstances.
-@c 
-@c Now, the intrinsic @code{FPUTC} calls @code{G77_fputc_0},
-@c which does not conflict with the @code{fputc_} external
-@c that implements a Fortran procedure named @code{FPUTC}.
-@c 
-@c Programs that refer to @code{FPUTC} as an external procedure
-@c without supplying their own implementation will link to
-@c the new @code{libf2c} routine @code{fputc_}, which is
-@c simply a jacket routine that calls @code{G77_fputc_0}.
-
-@ifclear USERVISONLY
-@item
-Place automatic arrays on the stack, even if
-@code{SAVE} or the @option{-fno-automatic} option
-is in effect.
-This avoids a compiler crash in some cases.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The @option{-malign-double} option now reliably aligns
-@code{DOUBLE PRECISION} optimally on Pentium and
-Pentium Pro architectures (586 and 686 in @command{gcc}).
-@end ifclear
-
-@item
-New option @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 @command{g77}.
-
-@item
-New option @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 @option{-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.
-
-@ifclear USERVISONLY
-@item
-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.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix parsing bug whereby @command{g77} rejected a
-second initialization specification immediately
-following the first's closing @samp{/} without
-an intervening comma in a @code{DATA} statement,
-and the second specification was an implied-DO list.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve performance of the @command{gcc} back end so
-certain complicated expressions involving @code{COMPLEX}
-arithmetic (especially multiplication) don't appear to
-take forever to compile.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix a couple of profiling-related bugs in @command{gcc}
-back end.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-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.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Include some other @command{gcc} fixes that seem useful in
-@command{g77}'s version of @command{gcc}.
-(See @file{gcc/ChangeLog} for details---compare it
-to that file in the vanilla @code{gcc-2.7.2.3.tar.gz}
-distribution.)
-@end ifclear
-
-@item
-Fix @code{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 (@samp{CHAR(0)})
-to the significant trailing blanks.
-
-@item
-Fix @code{CHMOD} intrinsic to work with file names
-that have embedded blanks, commas, and so on.
-
-@item
-Fix @code{SIGNAL} intrinsic so it accepts an
-optional third @code{Status} argument.
-
-@ifclear USERVISONLY
-@item
-Fix @code{IDATE()} intrinsic subroutine (VXT form)
-so it accepts arguments in the correct order.
-Documentation fixed accordingly, and for
-@code{GMTIME()} and @code{LTIME()} as well.
-@end ifclear
-
-@item
-Make many changes to @code{libU77} intrinsics to
-support existing code more directly.
-
-Such changes include allowing both subroutine and
-function forms of many routines, changing @code{MCLOCK()}
-and @code{TIME()} to return @code{INTEGER(KIND=1)} values,
-introducing @code{MCLOCK8()} and @code{TIME8()} to
-return @code{INTEGER(KIND=2)} values,
-and placing functions that are intended to perform
-side effects in a new intrinsic group, @code{badu77}.
-
-@ifclear USERVISONLY
-@item
-Improve @code{libU77} so it is more portable.
-@end ifclear
-
-@item
-Add options @option{-fbadu77-intrinsics-delete},
-@option{-fbadu77-intrinsics-hide}, and so on.
-
-@ifclear USERVISONLY
-@item
-Fix crashes involving diagnosed or invalid code.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-@command{g77} and @command{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.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Make some fixes to alias analysis code.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Add support for @code{restrict} keyword in @command{gcc}
-front end.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Support @command{gcc} version 2.7.2.3
-(modified by @command{g77} into version 2.7.2.3.f.1),
-and remove
-support for prior versions of @command{gcc}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Incorporate GNAT's patches to the @command{gcc} back
-end into @command{g77}'s, so GNAT users do not need
-to apply GNAT's patches to build both GNAT and @command{g77}
-from the same source tree.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Modify @command{make} rules and related code so that
-generation of Info documentation doesn't require
-compilation using @command{gcc}.
-Now, any ANSI C compiler should be adequate to
-produce the @command{g77} documentation (in particular,
-the tables of intrinsics) from scratch.
-@end ifclear
-
-@item
-Add @code{INT2} and @code{INT8} intrinsics.
-
-@item
-Add @code{CPU_TIME} intrinsic.
-
-@item
-Add @code{ALARM} intrinsic.
-
-@item
-@code{CTIME} intrinsic now accepts any @code{INTEGER}
-argument, not just @code{INTEGER(KIND=2)}.
-
-@ifclear USERVISONLY
-@item
-Warn when explicit type declaration disagrees with
-the type of an intrinsic invocation.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Support @samp{*f771} entry in @command{gcc} @file{specs} file.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix typo in @command{make} rule @command{g77-cross}, used only for
-cross-compiling.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @code{libf2c} build procedure to re-archive library
-if previous attempt to archive was interrupted.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Change @command{gcc} to unroll loops only during the last
-invocation (of as many as two invocations) of loop
-optimization.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve handling of @option{-fno-f2c} so that code that
-attempts to pass an intrinsic as an actual argument,
-such as @samp{CALL FOO(ABS)}, is rejected due to the fact
-that the run-time-library routine is, effectively,
-compiled with @option{-ff2c} in effect.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} driver to recognize @option{-fsyntax-only}
-as an option that inhibits linking, just like @option{-c} or
-@option{-S}, and to recognize and properly handle the
-@option{-nostdlib}, @option{-M}, @option{-MM}, @option{-nodefaultlibs},
-and @option{-Xlinker} options.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 1997-08-16.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Modify @code{libf2c} to consistently and clearly diagnose
-recursive I/O (at run time).
-@end ifclear
-
-@item
-@command{g77} driver now prints version information (such as produced
-by @kbd{g77 -v}) to @code{stderr} instead of @code{stdout}.
-
-@item
-The @samp{.r} suffix now designates a Ratfor source file,
-to be preprocessed via the @command{ratfor} command, available
-separately.
-
-@ifclear USERVISONLY
-@item
-Fix some aspects of how @command{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.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve diagnostics.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve documentation and indexing.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Include all pertinent files for @code{libf2c} that come
-from @code{netlib.bell-labs.com}; give any such files
-that aren't quite accurate in @command{g77}'s version of
-@code{libf2c} the suffix @samp{.netlib}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Reserve @code{INTEGER(KIND=0)} for future use.
-@end ifclear
-@end itemize
-
-@c 1997-02-28: 0.5.20 released.
-@heading In 0.5.20:
-@itemize @bullet
-@item
-The @option{-fno-typeless-boz} option is now the default.
-
-This option specifies that non-decimal-radix
-constants using the prefixed-radix form (such as @samp{Z'1234'})
-are to be interpreted as @code{INTEGER(KIND=1)} constants.
-Specify @option{-ftypeless-boz} to cause such
-constants to be interpreted as typeless.
-
-(Version 0.5.19 introduced @option{-fno-typeless-boz} and
-its inverse.)
-
-@ifset DOC-G77
-@xref{Fortran Dialect Options,,Options Controlling Fortran Dialect},
-for information on the @option{-ftypeless-boz} option.
-@end ifset
-
-@item
-Options @option{-ff90-intrinsics-enable} and
-@option{-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 @code{libU77} intrinsics.
-Users of such programs might need to compile them
-differently (using, for example, @option{-ff90-intrinsics-disable})
-or, better yet, insert appropriate @code{EXTERNAL}
-statements specifying that these names are not intended
-to be names of intrinsics.
-
-@item
-The @code{ALWAYS_FLUSH} macro is no longer defined when
-building @code{libf2c}, which should result in improved
-I/O performance, especially over NFS.
-
-@emph{Note:} If you have code that depends on the behavior
-of @code{libf2c} when built with @code{ALWAYS_FLUSH} defined,
-you will have to modify @code{libf2c} accordingly before
-building it from this and future versions of @command{g77}.
-
-@ifset DOC-G77
-@xref{Output Assumed To Flush}, for more information.
-@end ifset
-
-@item
-Dave Love's implementation of @code{libU77} has been
-added to the version of @code{libf2c} distributed with
-and built as part of @command{g77}.
-@command{g77} now knows about the routines in this library
-as intrinsics.
-
-@item
-New option @option{-fvxt} specifies that the
-source file is written in VXT Fortran, instead of GNU Fortran.
-
-@ifset DOC-G77
-@xref{VXT Fortran}, for more information on the constructs
-recognized when the @option{-fvxt} option is specified.
-@end ifset
-
-@item
-The @option{-fvxt-not-f90} option has been deleted,
-along with its inverse, @option{-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 @command{g77}.
-
-@ifset DOC-G77
-@xref{Other Dialects}, for more information.
-@end ifset
-
-@item
-The @option{-fugly} option now issues a warning, as it
-likely will be removed in a future version.
-
-(Enabling all the @option{-fugly-*} options is unlikely
-to be feasible, or sensible, in the future,
-so users should learn to specify only those
-@option{-fugly-*} options they really need for a
-particular source file.)
-
-@item
-The @option{-fugly-assumed} option, introduced in
-version 0.5.19, has been changed to
-better accommodate old and new code.
-
-@ifset DOC-G77
-@xref{Ugly Assumed-Size Arrays}, for more information.
-@end ifset
-
-@ifclear USERVISONLY
-@item
-Make a number of fixes to the @command{g77} front end and
-the @command{gcc} back end to better support Alpha (AXP)
-machines.
-This includes providing at least one bug-fix to the
-@command{gcc} back end for Alphas.
-@end ifclear
-
-@item
-Related to supporting Alpha (AXP) machines, the @code{LOC()}
-intrinsic and @code{%LOC()} construct now return
-values of @code{INTEGER(KIND=0)} type,
-as defined by the GNU Fortran language.
-
-This type is wide enough
-(holds the same number of bits)
-as the character-pointer type on the machine.
-
-On most machines, this won't make a difference,
-whereas, on Alphas and other systems with 64-bit pointers,
-the @code{INTEGER(KIND=0)} type is equivalent to @code{INTEGER(KIND=2)}
-(often referred to as @code{INTEGER*8})
-instead of the more common @code{INTEGER(KIND=1)}
-(often referred to as @code{INTEGER*4}).
-
-@item
-Emulate @code{COMPLEX} arithmetic in the @command{g77} front
-end, to avoid bugs in @code{complex} support in the
-@command{gcc} back end.
-New option @option{-fno-emulate-complex}
-causes @command{g77} to revert the 0.5.19 behavior.
-
-@ifclear USERVISONLY
-@item
-Fix bug whereby @samp{REAL A(1)}, for example, caused
-a compiler crash if @option{-fugly-assumed} was in effect
-and @var{A} was a local (automatic) array.
-That case is no longer affected by the new
-handling of @option{-fugly-assumed}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @command{g77} command driver so that @samp{g77 -o foo.f}
-no longer deletes @file{foo.f} before issuing other
-diagnostics, and so the @option{-x} option is properly
-handled.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Enable inlining of subroutines and functions by the @command{gcc}
-back end.
-This works as it does for @command{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.
-@end ifclear
-
-@item
-Dummy arguments are no longer assumed to potentially alias
-(overlap)
-other dummy arguments or @code{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 @option{-fforce-addr}
-also is specified.
-
-New options @option{-falias-check}, @option{-fargument-alias},
-@option{-fargument-noalias},
-and @option{-fno-argument-noalias-global} control the
-way @command{g77} handles potential aliasing.
-
-@ifset DOC-G77
-@xref{Aliasing Assumed To Work}, for detailed information on why the
-new defaults might result in some programs no longer working the way they
-did when compiled by previous versions of @command{g77}.
-@end ifset
-
-@ifclear USERVISONLY
-@item
-The @code{CONJG()} and @code{DCONJG()} intrinsics now
-are compiled in-line.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-The bug-fix for 0.5.19.1 has been re-done.
-The @command{g77} compiler has been changed back to
-assume @code{libf2c} has no aliasing problems in
-its implementations of the @code{COMPLEX} (and
-@code{DOUBLE COMPLEX}) intrinsics.
-The @code{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.
-
-@emph{Note:} This change requires version 0.5.20 of
-@code{libf2c}, at least, when linking code produced
-by any versions of @command{g77} other than 0.5.19.1.
-Use @samp{g77 -v} to determine the version numbers
-of the @code{libF77}, @code{libI77}, and @code{libU77}
-components of the @code{libf2c} library.
-(If these version numbers are not printed---in
-particular, if the linker complains about unresolved
-references to names like @samp{g77__fvers__}---that
-strongly suggests your installation has an obsolete
-version of @code{libf2c}.)
-@end ifclear
-
-@item
-New option @option{-fugly-assign} specifies that the
-same memory locations are to be used to hold the
-values assigned by both statements @samp{I = 3} and
-@samp{ASSIGN 10 TO I}, for example.
-(Normally, @command{g77} uses a separate memory location
-to hold assigned statement labels.)
-
-@ifset DOC-G77
-@xref{Ugly Assigned Labels}, for more information.
-@end ifset
-
-@item
-@code{FORMAT} and @code{ENTRY} statements now are allowed to
-precede @code{IMPLICIT NONE} statements.
-
-@ifclear USERVISONLY
-@item
-Produce diagnostic for unsupported @code{SELECT CASE} on
-@code{CHARACTER} type, instead of crashing, at compile time.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix crashes involving diagnosed or invalid code.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Change approach to building @code{libf2c} archive
-(@file{libf2c.a}) so that members are added to it
-only when truly necessary, so the user that installs
-an already-built @command{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).
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Support @command{gcc} version 2.7.2.2
-(modified by @command{g77} into version 2.7.2.2.f.2),
-and remove
-support for prior versions of @command{gcc}.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Upgrade to @code{libf2c} as of 1997-02-08, and
-fix up some of the build procedures.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Improve general build procedures for @command{g77},
-fixing minor bugs (such as deletion of any file
-named @file{f771} in the parent directory of @code{gcc/}).
-@end ifclear
-
-@item
-Enable full support of @code{INTEGER(KIND=2)}
-(often referred to as @code{INTEGER*8})
-available in
-@code{libf2c} and @file{f2c.h} so that @command{f2c} users
-may make full use of its features via the @command{g77}
-version of @file{f2c.h} and the @code{INTEGER(KIND=2)}
-support routines in the @command{g77} version of @code{libf2c}.
-
-@item
-Improve @command{g77} driver and @code{libf2c} so that @samp{g77 -v}
-yields version information on the library.
-
-@item
-The @code{SNGL} and @code{FLOAT} intrinsics now are
-specific intrinsics, instead of synonyms for the
-generic intrinsic @code{REAL}.
-
-@item
-New intrinsics have been added.
-These are @code{REALPART}, @code{IMAGPART},
-@code{COMPLEX},
-@code{LONG}, and @code{SHORT}.
-
-@item
-A new group of intrinsics, @code{gnu}, has been added
-to contain the new @code{REALPART}, @code{IMAGPART},
-and @code{COMPLEX} intrinsics.
-An old group, @code{dcp}, has been removed.
-
-@item
-Complain about industry-wide ambiguous references
-@samp{REAL(@var{expr})} and @samp{AIMAG(@var{expr})},
-where @var{expr} is @code{DOUBLE COMPLEX} (or any
-complex type other than @code{COMPLEX}), unless
-@option{-ff90} option specifies Fortran 90 interpretation
-or new @option{-fugly-complex} option, in conjunction with
-@option{-fnot-f90}, specifies @command{f2c} interpretation.
-
-@ifclear USERVISONLY
-@item
-Make improvements to diagnostics.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Speed up compiler a bit.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-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 @code{M} for the node
-@code{Diagnostics} in the top-level menu of
-the Info documentation.)
-@end ifclear
-@end itemize
-
-@ifclear DOC-OLDNEWS
-@heading In previous versions:
-
-Information on previous versions is archived
-in @file{@value{path-g77}/news.texi}
-following the test of the @code{DOC-OLDNEWS} macro.
-@end ifclear
-
-@ifset DOC-OLDNEWS
-@c 1997-02-01: 0.5.19.1 released.
-@heading In 0.5.19.1:
-@itemize @bullet
-@item
-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: @code{CONJG()},
-@code{DCONJG()}, @code{CCOS()}, @code{CDCOS()},
-@code{CLOG()}, @code{CDLOG()}, @code{CSIN()}, @code{CDSIN()},
-@code{CSQRT()}, @code{CDSQRT()}, complex division, and
-raising a @code{DOUBLE COMPLEX} operand to an @code{INTEGER}
-power.
-(The related generic and @samp{Z}-prefixed intrinsics,
-such as @code{ZSIN()}, also were affected.)
-
-For example, @samp{C = CSQRT(C)}, @samp{Z = Z/C}, and @samp{Z = Z**I}
-(where @samp{C} is @code{COMPLEX} and @samp{Z} is
-@code{DOUBLE COMPLEX}) have been fixed.
-@end itemize
-
-@c 1996-12-07: 0.5.19 released.
-@heading In 0.5.19:
-@itemize @bullet
-@item
-Fix @code{FORMAT} statement parsing so negative values for
-specifiers such as @code{P} (e.g. @samp{FORMAT(-1PF8.1)})
-are correctly processed as negative.
-
-@item
-Fix @code{SIGNAL} intrinsic so it once again accepts a
-procedure as its second argument.
-
-@item
-A temporary kludge option provides bare-bones information on
-@code{COMMON} and @code{EQUIVALENCE} members at debug time.
-
-@item
-New @option{-fonetrip} option specifies FORTRAN-66-style
-one-trip @code{DO} loops.
-
-@item
-New @option{-fno-silent} option causes names of program units
-to be printed as they are compiled, in a fashion similar to
-UNIX @command{f77} and @command{f2c}.
-
-@item
-New @option{-fugly-assumed} option specifies that arrays
-dimensioned via @samp{DIMENSION X(1)}, for example, are to be
-treated as assumed-size.
-
-@item
-New @option{-fno-typeless-boz} option specifies that non-decimal-radix
-constants using the prefixed-radix form (such as @samp{Z'1234'})
-are to be interpreted as @code{INTEGER} constants.
-
-@item
-New @option{-ff66} option is a ``shorthand'' option that specifies
-behaviors considered appropriate for FORTRAN 66 programs.
-
-@item
-New @option{-ff77} option is a ``shorthand'' option that specifies
-behaviors considered appropriate for UNIX @command{f77} programs.
-
-@item
-New @option{-fugly-comma} and @option{-fugly-logint} options provided
-to perform some of what @option{-fugly} used to do.
-@option{-fugly} and @option{-fno-ugly} are now ``shorthand'' options,
-in that they do nothing more than enable (or disable) other
-@option{-fugly-*} options.
-
-@item
-Fix parsing of assignment statements involving targets that
-are substrings of elements of @code{CHARACTER} arrays having
-names such as @samp{READ}, @samp{WRITE}, @samp{GOTO}, and
-@samp{REALFUNCTIONFOO}.
-
-@item
-Fix crashes involving diagnosed code.
-
-@item
-Fix handling of local @code{EQUIVALENCE} areas so certain cases
-of valid Fortran programs are not misdiagnosed as improperly
-extending the area backwards.
-
-@item
-Support @command{gcc} version 2.7.2.1.
-
-@item
-Upgrade to @code{libf2c} as of 1996-09-26, and
-fix up some of the build procedures.
-
-@item
-Change code generation for list-directed I/O so it allows
-for new versions of @code{libf2c} that might return non-zero
-status codes for some operations previously assumed to always
-return zero.
-
-This change not only affects how @code{IOSTAT=} variables
-are set by list-directed I/O, it also affects whether
-@code{END=} and @code{ERR=} labels are reached by these
-operations.
-
-@item
-Add intrinsic support for new @code{FTELL} and @code{FSEEK}
-procedures in @code{libf2c}.
-
-@item
-Modify @code{fseek_()} in @code{libf2c} to be more portable
-(though, in practice, there might be no systems where this
-matters) and to catch invalid @code{whence} arguments.
-
-@item
-Some useless warnings from the @option{-Wunused} option have
-been eliminated.
-
-@item
-Fix a problem building the @file{f771} executable
-on AIX systems by linking with the @option{-bbigtoc} option.
-
-@item
-Abort configuration if @command{gcc} has not been patched
-using the patch file provided in the @file{gcc/f/gbe/}
-subdirectory.
-
-@item
-Add options @option{--help} and @option{--version} to the
-@command{g77} command, to conform to GNU coding guidelines.
-Also add printing of @command{g77} version number when
-the @option{--verbose} (@option{-v}) option is used.
-
-@item
-Change internally generated name for local @code{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.
-
-@item
-Improvements to documentation and indexing.
-@end itemize
-
-@c 1996-04-01: 0.5.18 released.
-@heading In 0.5.18:
-@itemize @bullet
-@item
-Add some rudimentary support for @code{INTEGER*1},
-@code{INTEGER*2}, @code{INTEGER*8},
-and their @code{LOGICAL} equivalents.
-(This support works on most, maybe all, @command{gcc} targets.)
-
-Thanks to Scott Snyder (@email{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.
-
-@item
-Add some rudimentary support for the @code{BYTE} and
-@code{WORD} type-declaration statements.
-@code{BYTE} corresponds to @code{INTEGER*1},
-while @code{WORD} corresponds to @code{INTEGER*2}.
-
-Thanks to Scott Snyder (@email{snyder@@d0sgif.fnal.gov})
-for providing the patch for this!
-
-@item
-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 @code{INTEGER*8},
-for example.
-
-@item
-Support automatic arrays in procedures.
-
-@item
-Reduce space/time requirements for handling large
-@emph{sparsely} initialized aggregate arrays.
-This improvement applies to only a subset of
-the general problem to be addressed in 0.6.
-
-@item
-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, @option{-fzeros}, is introduced to
-enable the traditional treatment of zeros as any
-other value.
-
-@item
-With @option{-ff90} in force, @command{g77} incorrectly
-interpreted @samp{REAL(Z)} as returning a @code{REAL}
-result, instead of as a @code{DOUBLE PRECISION}
-result.
-(Here, @samp{Z} is @code{DOUBLE COMPLEX}.)
-
-With @option{-fno-f90} in force, the interpretation remains
-unchanged, since this appears to be how at least some
-F77 code using the @code{DOUBLE COMPLEX} extension expected
-it to work.
-
-Essentially, @samp{REAL(Z)} in F90 is the same as
-@samp{DBLE(Z)}, while in extended F77, it appears to
-be the same as @samp{REAL(REAL(Z))}.
-
-@item
-An expression involving exponentiation, where both operands
-were type @code{INTEGER} and the right-hand operand
-was negative, was erroneously evaluated.
-
-@item
-Fix bugs involving @code{DATA} implied-@code{DO} constructs
-(these involved an errant diagnostic and a crash, both on good
-code, one involving subsequent statement-function definition).
-
-@item
-Close @code{INCLUDE} files after processing them, so compiling source
-files with lots of @code{INCLUDE} statements does not result in
-being unable to open @code{INCLUDE} files after all the available
-file descriptors are used up.
-
-@item
-Speed up compiling, especially of larger programs, and perhaps
-slightly reduce memory utilization while compiling (this is
-@emph{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.
-
-@item
-Introduce three new options that
-implement optimizations in the @command{gcc} back end (GBE).
-These options are @option{-fmove-all-movables}, @option{-freduce-all-givs},
-and @option{-frerun-loop-opt}, which are enabled, by default,
-for Fortran compilations.
-These optimizations are intended to help toon Fortran programs.
-
-@item
-Patch the GBE to do a better job optimizing certain
-kinds of references to array elements.
-
-@item
-Due to patches to the GBE, the version number of @command{gcc}
-also is patched to make it easier to manage installations,
-especially useful if it turns out a @command{g77} change to the
-GBE has a bug.
-
-The @command{g77}-modified version number is the @command{gcc}
-version number with the string @samp{.f.@var{n}} appended,
-where @samp{f} identifies the version as enhanced for
-Fortran, and @var{n} is @samp{1} for the first Fortran
-patch for that version of @command{gcc}, @samp{2} for the
-second, and so on.
-
-So, this introduces version 2.7.2.f.1 of @command{gcc}.
-
-@item
-Make several improvements and fixes to diagnostics, including
-the removal of two that were inappropriate or inadequate.
-
-@item
-Warning about two successive arithmetic operators, produced
-by @option{-Wsurprising}, now produced @emph{only} when both
-operators are, indeed, arithmetic (not relational/boolean).
-
-@item
-@option{-Wsurprising} now warns about the remaining cases
-of using non-integral variables for implied-@code{DO}
-loops, instead of these being rejected unless @option{-fpedantic}
-or @option{-fugly} specified.
-
-@item
-Allow @code{SAVE} of a local variable or array, even after
-it has been given an initial value via @code{DATA}, for example.
-
-@item
-Introduce an Info version of @command{g77} documentation, which
-supersedes @file{gcc/f/CREDITS}, @file{gcc/f/DOC}, and
-@file{gcc/f/PROJECTS}.
-These files will be removed in a future release.
-The files @file{gcc/f/BUGS}, @file{gcc/f/INSTALL}, and
-@file{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
-@file{g77-0.5.16/f/DOC} that was contributed to Craig by
-David Ronis (@email{ronis@@onsager.chem.mcgill.ca}).
-
-@item
-New @option{-fno-second-underscore} option to specify
-that, when @option{-funderscoring} is in effect, a second
-underscore is not to be appended to Fortran names already
-containing an underscore.
-
-@item
-Change the way iterative @code{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 @code{DO} variable, but
-the result of the calculation is always converted to
-the default @code{INTEGER} type.
-
-(This should have no effect on existing code compiled
-by @command{g77}, but code written to assume that use
-of a @emph{wider} type for the @code{DO} variable
-will result in an iteration count being fully calculated
-using that wider type (wider
-than default @code{INTEGER}) must be rewritten.)
-
-@item
-Support @command{gcc} version 2.7.2.
-
-@item
-Upgrade to @code{libf2c} as of 1996-03-23, and
-fix up some of the build procedures.
-
-Note that the email addresses related to @command{f2c}
-have changed---the distribution site now is
-named @code{netlib.bell-labs.com}, and the
-maintainer's new address is @email{dmg@@bell-labs.com}.
-@end itemize
-
-@c 1995-11-18: 0.5.17 released.
-@heading In 0.5.17:
-@itemize @bullet
-@item
-@strong{Fix serious bug} in @samp{g77 -v} command that can cause removal of a
-system's @file{/dev/null} special file if run by user @code{root}.
-
-@strong{All users} of version 0.5.16 should ensure that
-they have not removed @file{/dev/null} or replaced it with an ordinary
-file (e.g. by comparing the output of @samp{ls -l /dev/null} with
-@samp{ls -l /dev/zero}.
-If the output isn't basically the
-same, contact your system
-administrator about restoring @file{/dev/null} to its proper status).
-
-This bug is particularly insidious because removing @file{/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 @samp{g77 -v} runs the @command{ld} command
-with @samp{-o /dev/null} that @command{ld} tries to @emph{remove} the executable
-it is supposed to build (especially if it reports unresolved
-references, which it should in this case)!
-
-@item
-Fix crash on @samp{CHARACTER*(*) FOO} in a main or block data program unit.
-
-@item
-Fix crash that can occur when diagnostics given outside of any
-program unit (such as when input file contains @samp{@@foo}).
-
-@item
-Fix crashes, infinite loops (hangs), and such involving diagnosed code.
-
-@item
-Fix @code{ASSIGN}'ed variables so they can be @code{SAVE}'d or dummy arguments,
-and issue clearer error message in cases where target of @code{ASSIGN}
-or @code{ASSIGN}ed @code{GOTO}/@code{FORMAT} is too small (which should
-never happen).
-
-@item
-Make @code{libf2c} build procedures work on more systems again by
-eliminating unnecessary invocations of @samp{ld -r -x} and @command{mv}.
-
-@item
-Fix omission of @option{-funix-intrinsics-@dots{}} options in list of permitted
-options to compiler.
-
-@item
-Fix failure to always diagnose missing type declaration for
-@code{IMPLICIT NONE}.
-
-@item
-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 @code{INTEGER}
-constant for the right-hand operator (e.g. @samp{I**32767}).
-
-@item
-Fix build procedures so cross-compiling @command{g77} (the @command{fini}
-utility in particular) is properly built using the host compiler.
-
-@item
-Add new @option{-Wsurprising} option to warn about constructs that are
-interpreted by the Fortran standard (and @command{g77}) in ways that
-are surprising to many programmers.
-
-@item
-Add @code{ERF()} and @code{ERFC()} as generic intrinsics mapping to existing
-@code{ERF}/@code{DERF} and @code{ERFC}/@code{DERFC} specific intrinsics.
-
-@emph{Note:} You should
-specify @samp{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. @command{f2c}).
-
-@item
-Remove from @option{-fno-pedantic} the diagnostic about @code{DO}
-with non-@code{INTEGER} index variable; issue that under
-@option{-Wsurprising} instead.
-
-@item
-Clarify some diagnostics that say things like ``ignored'' when that's
-misleading.
-
-@item
-Clarify diagnostic on use of @code{.EQ.}/@code{.NE.} on @code{LOGICAL}
-operands.
-
-@item
-Minor improvements to code generation for various operations on
-@code{LOGICAL} operands.
-
-@item
-Minor improvement to code generation for some @code{DO} loops on some
-machines.
-
-@item
-Support @command{gcc} version 2.7.1.
-
-@item
-Upgrade to @code{libf2c} as of 1995-11-15.
-@end itemize
-
-@c 1995-08-30: 0.5.16 released.
-@heading In 0.5.16:
-@itemize @bullet
-@item
-Fix a code-generation bug involving complicated @code{EQUIVALENCE} statements
-not involving @code{COMMON}.
-
-@item
-Fix code-generation bugs involving invoking ``gratis'' library procedures
-in @code{libf2c} from code compiled with @option{-fno-f2c} by making these
-procedures known to @command{g77} as intrinsics (not affected by -fno-f2c).
-This is known to fix code invoking @code{ERF()}, @code{ERFC()},
-@code{DERF()}, and @code{DERFC()}.
-
-@item
-Update @code{libf2c} to include netlib patches through 1995-08-16, and
-@code{#define} @code{WANT_LEAD_0} to 1 to make @command{g77}-compiled code more
-consistent with other Fortran implementations by outputting
-leading zeros in formatted and list-directed output.
-
-@item
-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 @command{f2c} plus @command{gcc} (but apparently only when using
-@file{gcc-2.7.0} or later).
-
-@item
-Fix a code-generation bug involving invocation of @code{COMPLEX} and
-@code{DOUBLE COMPLEX} @code{FUNCTION}s and doing @code{COMPLEX} and
-@code{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.
-
-@item
-Fix crash by not generating new optimal code for @samp{X**I} if @samp{I} is
-nonconstant and the expression is used to dimension a dummy
-array, since the @command{gcc} back end does not support the necessary
-mechanics (and the @command{gcc} front end rejects the equivalent
-construct, as it turns out).
-
-@item
-Fix crash on expressions like @samp{COMPLEX**INTEGER}.
-
-@item
-Fix crash on expressions like @samp{(1D0,2D0)**2}, i.e. raising a
-@code{DOUBLE COMPLEX} constant to an @code{INTEGER} constant power.
-
-@item
-Fix crashes and such involving diagnosed code.
-
-@item
-Diagnose, instead of crashing on, statement function definitions
-having duplicate dummy argument names.
-
-@item
-Fix bug causing rejection of good code involving statement function
-definitions.
-
-@item
-Fix bug resulting in debugger not knowing size of local equivalence
-area when any member of area has initial value (via @code{DATA},
-for example).
-
-@item
-Fix installation bug that prevented installation of @command{g77} driver.
-Provide for easy selection of whether to install copy of @command{g77}
-as @command{f77} to replace the broken code.
-
-@item
-Fix @command{gcc} driver (affects @command{g77} thereby) to not
-gratuitously invoke the
-@code{f771} program (e.g. when @option{-E} is specified).
-
-@item
-Fix diagnostic to point to correct source line when it immediately
-follows an @code{INCLUDE} statement.
-
-@item
-Support more compiler options in @command{gcc}/@command{g77} when
-compiling Fortran files.
-These options include @option{-p}, @option{-pg}, @option{-aux-info}, @option{-P},
-correct setting of version-number macros for preprocessing, full
-recognition of @option{-O0}, and
-automatic insertion of configuration-specific linker specs.
-
-@item
-Add new intrinsics that interface to existing routines in @code{libf2c}:
-@code{ABORT}, @code{DERF}, @code{DERFC}, @code{ERF}, @code{ERFC}, @code{EXIT},
-@code{FLUSH}, @code{GETARG}, @code{GETENV}, @code{IARGC},
-@code{SIGNAL}, and @code{SYSTEM}.
-Note that @code{ABORT}, @code{EXIT}, @code{FLUSH}, @code{SIGNAL}, and
-@code{SYSTEM} are intrinsic subroutines, not functions (since they
-have side effects), so to get the return values from @code{SIGNAL}
-and @code{SYSTEM}, append a final argument specifying an @code{INTEGER}
-variable or array element (e.g. @samp{CALL SYSTEM('rm foo',ISTAT)}).
-
-@item
-Add new intrinsic group named @code{unix} to contain the new intrinsics,
-and by default enable this new group.
-
-@item
-Move @code{LOC()} intrinsic out of the @code{vxt} group to the new
-@code{unix} group.
-
-@item
-Improve @command{g77} so that @samp{g77 -v} by itself (or with
-certain other options, including @option{-B}, @option{-b}, @option{-i},
-@option{-nostdlib}, and @option{-V}) reports lots more useful
-version info, and so that long-form options @command{gcc} accepts are
-understood by @command{g77} as well (even in truncated, unambiguous forms).
-
-@item
-Add new @command{g77} option @option{--driver=name} to specify driver when
-default, @command{gcc}, isn't appropriate.
-
-@item
-Add support for @samp{#} directives (as output by the preprocessor) in the
-compiler, and enable generation of those directives by the
-preprocessor (when compiling @samp{.F} files) so diagnostics and debugging
-info are more useful to users of the preprocessor.
-
-@item
-Produce better diagnostics, more like @command{gcc}, with info such as
-@samp{In function `foo':} and @samp{In file included from...:}.
-
-@item
-Support @command{gcc}'s @option{-fident} and @option{-fno-ident} options.
-
-@item
-When @option{-Wunused} in effect, don't warn about local variables used as
-statement-function dummy arguments or @code{DATA} implied-@code{DO} iteration
-variables, even though, strictly speaking, these are not uses
-of the variables themselves.
-
-@item
-When @samp{-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 (@command{g77} might someday start warning about these)---applies
-to @command{gcc} versions 2.7.0 and later, since earlier versions didn't
-warn about unused dummy arguments.
-
-@item
-New option @option{-fno-underscoring} that inhibits transformation of names
-(by appending one or two underscores) so users may experiment
-with implications of such an environment.
-
-@item
-Minor improvement to @file{gcc/f/info} module to make it easier to build
-@command{g77} using the native (non-@command{gcc}) compiler on certain machines
-(but definitely not all machines nor all non-@command{gcc} compilers).
-Please
-do not report bugs showing problems compilers have with
-macros defined in @file{gcc/f/target.h} and used in places like
-@file{gcc/f/expr.c}.
-
-@item
-Add warning to be printed for each invocation of the compiler
-if the target machine @code{INTEGER}, @code{REAL}, or @code{LOGICAL} size
-is not 32 bits,
-since @command{g77} is known to not work well for such cases.
-
-@item
-Lots of new documentation (though work is still needed to put it into
-canonical GNU format).
-
-@item
-Build @code{libf2c} with @option{-g0}, not @option{-g2}, in effect
-(by default), to produce
-smaller library without lots of debugging clutter.
-@end itemize
-
-@c 1995-05-19: 0.5.15 released.
-@heading In 0.5.15:
-@itemize @bullet
-@item
-Fix bad code generation involving @samp{X**I} and temporary, internal variables
-generated by @command{g77} and the back end (such as for @code{DO} loops).
-
-@item
-Fix crash given @samp{CHARACTER A;DATA A/.TRUE./}.
-
-@item
-Replace crash with diagnostic given @samp{CHARACTER A;DATA A/1.0/}.
-
-@item
-Fix crash or other erratic behavior when null character constant
-(@samp{''}) is encountered.
-
-@item
-Fix crash or other erratic behavior involving diagnosed code.
-
-@item
-Fix code generation for external functions returning type @code{REAL} when
-the @option{-ff2c} option is in force (which it is by default) so that
-@command{f2c} compatibility is indeed provided.
-
-@item
-Disallow @samp{COMMON I(10)} if @samp{I} has previously been specified
-with an array declarator.
-
-@item
-New @option{-ffixed-line-length-@var{n}} option, where @var{n} is the
-maximum length
-of a typical fixed-form line, defaulting to 72 columns, such
-that characters beyond column @var{n} are ignored, or @var{n} is @samp{none},
-meaning no characters are ignored.
-does not affect lines
-with @samp{&} in column 1, which are always processed as if
-@option{-ffixed-line-length-none} was in effect.
-
-@item
-No longer generate better code for some kinds of array references,
-as @command{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.
-
-@item
-In @code{COMMON} and @code{EQUIVALENCE} areas with any members given initial
-values (e.g. via @code{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 @command{g77}).
-Previously, in some @code{COMMON}/@code{EQUIVALENCE} areas
-(essentially those with members of more than one type), the
-uninitialized members were initialized to spaces, to
-cater to @code{CHARACTER} types, but it seems no existing code expects
-that, while much existing code expects binary zeros.
-@end itemize
-
-@heading In 0.5.14:
-@itemize @bullet
-@item
-Don't emit bad code when low bound of adjustable array is nonconstant
-and thus might vary as an expression at run time.
-
-@item
-Emit correct code for calculation of number of trips in @code{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.)
-
-@item
-Fix crash when extra parentheses surround item in
-@code{DATA} implied-@code{DO} list.
-
-@item
-Fix crash over minor internal inconsistencies in handling diagnostics,
-just substitute dummy strings where necessary.
-
-@item
-Fix crash on some systems when compiling call to @code{MVBITS()} intrinsic.
-
-@item
-Fix crash on array assignment @samp{TYPE@var{ddd}(@dots{})=@dots{}}, where @var{ddd}
-is a string of one or more digits.
-
-@item
-Fix crash on @code{DCMPLX()} with a single @code{INTEGER} argument.
-
-@item
-Fix various crashes involving code with diagnosed errors.
-
-@item
-Support @option{-I} option for @code{INCLUDE} statement, plus @command{gcc}'s
-@file{header.gcc} facility for handling systems like MS-DOS.
-
-@item
-Allow @code{INCLUDE} statement to be continued across multiple lines,
-even allow it to coexist with other statements on the same line.
-
-@item
-Incorporate Bellcore fixes to @code{libf2c} through 1995-03-15---this
-fixes a bug involving infinite loops reading EOF with empty list-directed
-I/O list.
-
-@item
-Remove all the @command{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 @command{g77}, which expects a working ANSI C
-environment (and, for now, a GNU C compiler to compile @command{g77} itself).
-
-@item
-Complain if initialized common redeclared as larger in subsequent program
-unit.
-
-@item
-Warn if blank common initialized, since its size can vary and hence
-related warnings that might be helpful won't be seen.
-
-@item
-New @option{-fbackslash} option, on by default, that causes @samp{\}
-within @code{CHARACTER}
-and Hollerith constants to be interpreted a la GNU C.
-Note that
-this behavior is somewhat different from @command{f2c}'s, which supports only
-a limited subset of backslash (escape) sequences.
-
-@item
-Make @option{-fugly-args} the default.
-
-@item
-New @option{-fugly-init} option, on by default, that allows typeless/Hollerith
-to be specified as initial values for variables or named constants
-(@code{PARAMETER}), and also allows character<->numeric conversion in
-those contexts---turn off via @option{-fno-ugly-init}.
-
-@item
-New @option{-finit-local-zero} option to initialize
-local variables to binary zeros.
-This does not affect whether they are @code{SAVE}d, i.e. made
-automatic or static.
-
-@item
-New @option{-Wimplicit} option to warn about implicitly typed variables, arrays,
-and functions.
-(Basically causes all program units to default to @code{IMPLICIT NONE}.)
-
-@item
-@option{-Wall} now implies @option{-Wuninitialized} as with @command{gcc}
-(i.e. unless @option{-O} not specified, since @option{-Wuninitialized}
-requires @option{-O}), and implies @option{-Wunused} as well.
-
-@item
-@option{-Wunused} no longer gives spurious messages for unused
-@code{EXTERNAL} names (since they are assumed to refer to block data
-program units, to make use of libraries more reliable).
-
-@item
-Support @code{%LOC()} and @code{LOC()} of character arguments.
-
-@item
-Support null (zero-length) character constants and expressions.
-
-@item
-Support @command{f2c}'s @code{IMAG()} generic intrinsic.
-
-@item
-Support @code{ICHAR()}, @code{IACHAR()}, and @code{LEN()} of
-character expressions that are valid in assignments but
-not normally as actual arguments.
-
-@item
-Support @command{f2c}-style @samp{&} in column 1 to mean continuation line.
-
-@item
-Allow @code{NAMELIST}, @code{EXTERNAL}, @code{INTRINSIC}, and @code{VOLATILE}
-in @code{BLOCK DATA}, even though these are not allowed by the standard.
-
-@item
-Allow @code{RETURN} in main program unit.
-
-@item
-Changes to Hollerith-constant support to obey Appendix C of the
-standard:
-
-@itemize @minus
-@item
-Now padded on the right with zeros, not spaces.
-
-@item
-Hollerith ``format specifications'' in the form of arrays of
-non-character allowed.
-
-@item
-Warnings issued when non-space truncation occurs when converting
-to another type.
-
-@item
-When specified as actual argument, now passed
-by reference to @code{INTEGER} (padded on right with spaces if constant
-too small, otherwise fully intact if constant wider the @code{INTEGER}
-type) instead of by value.
-@end itemize
-
-@strong{Warning:} @command{f2c} differs on the
-interpretation of @samp{CALL FOO(1HX)}, which it treats exactly the
-same as @samp{CALL FOO('X')}, but which the standard and @command{g77} treat
-as @samp{CALL FOO(%REF('X   '))} (padded with as many spaces as necessary
-to widen to @code{INTEGER}), essentially.
-
-@item
-Changes and fixes to typeless-constant support:
-
-@itemize @minus
-@item
-Now treated as a typeless double-length @code{INTEGER} value.
-
-@item
-Warnings issued when overflow occurs.
-
-@item
-Padded on the left with zeros when converting
-to a larger type.
-
-@item
-Should be properly aligned and ordered on
-the target machine for whatever type it is turned into.
-
-@item
-When specified as actual argument, now passed as reference to
-a default @code{INTEGER} constant.
-@end itemize
-
-@item
-@code{%DESCR()} of a non-@code{CHARACTER} expression now passes a pointer to
-the expression plus a length for the expression just as if
-it were a @code{CHARACTER} expression.
-For example, @samp{CALL FOO(%DESCR(D))}, where
-@samp{D} is @code{REAL*8}, is the same as @samp{CALL FOO(D,%VAL(8)))}.
-
-@item
-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 @samp{SUBROUTINE X}
-with alternate entry points is now @samp{__g77_masterfun_x}.
-
-@item
-Remove redundant message about zero-step-count @code{DO} loops.
-
-@item
-Clean up diagnostic messages, shortening many of them.
-
-@item
-Fix typo in @command{g77} man page.
-
-@item
-Clarify implications of constant-handling bugs in @file{f/BUGS}.
-
-@item
-Generate better code for @samp{**} operator with a right-hand operand of
-type @code{INTEGER}.
-
-@item
-Generate better code for @code{SQRT()} and @code{DSQRT()},
-also when @option{-ffast-math}
-specified, enable better code generation for @code{SIN()} and @code{COS()}.
-
-@item
-Generate better code for some kinds of array references.
-
-@item
-Speed up lexing somewhat (this makes the compilation phase noticeably
-faster).
-@end itemize
-
-@end ifset
-@end ifclear