OSDN Git Service

Improve g77 doc infrastructure
authorburley <burley@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Mar 1999 12:04:03 +0000 (12:04 +0000)
committerburley <burley@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Mar 1999 12:04:03 +0000 (12:04 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25743 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/f/ChangeLog
gcc/f/Make-lang.in
gcc/f/RELEASE-PREP [new file with mode: 0644]
gcc/f/bugs.texi
gcc/f/bugs0.texi
gcc/f/g77.texi
gcc/f/g77install.texi
gcc/f/install0.texi
gcc/f/news.texi
gcc/f/news0.texi
gcc/f/root.texi [new file with mode: 0644]

index 01fd18d..608c9f5 100644 (file)
@@ -1,3 +1,17 @@
+Sat Mar 13 14:26:55 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * RELEASE-PREP: New file, lists things to do for a release.
+
+       * Make-lang.in, bugs.texi, bugs0.texi, g77.texi, g77install.texi,
+       install0.texi, news.texi, news0.texi: Accommodate new doc
+       architecture.
+       Consolidate news items.  Don't describe old news items in
+       various generated docs.
+       Don't describe FSF-g77 installation stuff in various EGCS-g77
+       generated docs.
+       Move description of AUTOMATIC to more suitable location.
+       * root.texi: New file for new doc architecture.
+
 Thu Mar 11 17:32:55 1999  Craig Burley  <craig@jcb-sc.com>
 
        * g77.texi: Add AUTOMATIC to list of unsupported extensions.
index 3cc2884..4c2399b 100644 (file)
@@ -244,7 +244,7 @@ f77.dvi: f/g77.dvi
 # g77 documentation.
 f/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
            $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
-           $(srcdir)/f/intdoc.texi
+           $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
        case "$(LANGUAGES)" in \
          *[fF]77*) touch lang-f77;; \
          *) rm -f lang-f77;; \
@@ -256,7 +256,7 @@ f/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
 
 f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
            $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
-           $(srcdir)/f/intdoc.texi
+           $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
        case "$(LANGUAGES)" in \
          *[fF]77*) touch lang-f77;; \
          *) rm -f lang-f77;; \
@@ -306,15 +306,15 @@ $(srcdir)/f/intdoc.texi: f/intdoc.c f/intdoc.in f/ansify.c f/intrin.def f/intrin
          rm f/intdoc f/ansify f/intdoc.h0; \
        else true; fi
 
-$(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi
+$(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
        cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \
          --no-validate -o BUGS bugs0.texi
 
-$(srcdir)/f/INSTALL: f/install0.texi f/g77install.texi
+$(srcdir)/f/INSTALL: f/install0.texi f/g77install.texi f/root.texi
        cd $(srcdir)/f; $(MAKEINFO) -D INSTALLONLY --no-header --no-split \
          --no-validate -o INSTALL install0.texi
 
-$(srcdir)/f/NEWS: f/news0.texi f/news.texi
+$(srcdir)/f/NEWS: f/news0.texi f/news.texi f/root.texi
        cd $(srcdir)/f; $(MAKEINFO) -D NEWSONLY --no-header --no-split \
          --no-validate -o NEWS news0.texi
 
diff --git a/gcc/f/RELEASE-PREP b/gcc/f/RELEASE-PREP
new file mode 100644 (file)
index 0000000..7069ea5
--- /dev/null
@@ -0,0 +1,5 @@
+1999-03-13  RELEASE-PREP
+
+Things to do to prepare a g77 release (FSF, egcs, whatever).
+
+-  Update root.texi: clear DEVELOPMENT flag, set version info.
index aa5d254..0bad858 100644 (file)
@@ -1,30 +1,43 @@
-@c Copyright (C) 1995-1998 Free Software Foundation, Inc.
+@c Copyright (C) 1995-1999 Free Software Foundation, Inc.
 @c This is part of the G77 manual.
 @c For copying conditions, see the file g77.texi.
 
-@c When changing the above copyright notice, be sure to
-@c change the one in `bugs0.texi' accordingly, to effect
-@c the change in the derived file `BUGS'.
-
 @c The text of this file appears in the file BUGS
 @c in the G77 distribution, as well as in the G77 manual.
 
-@c 1999-03-03
+@c Keep this the same as the dates above, since it's used
+@c in the standalone derivations of this file (e.g. BUGS).
+@set copyrights-bugs 1995-1999
+
+@set last-update-bugs 1999-03-13
+
+@include root.texi
+
+@ifset DOC-BUGS
+@c The immediately following lines apply to the BUGS file
+@c which is derived from this file.
+@emph{Note:} This file is automatically generated from the files
+@file{bugs0.texi} and @file{bugs.texi}.
+@file{BUGS} is @emph{not} a source file,
+although it is normally included within source distributions.
+
+This file lists known bugs in the @value{which-g77} version
+of the GNU Fortran compiler.
+Copyright (C) @value{copyrights-bugs} 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 Known Bugs In GNU Fortran
+@end ifset
 
-@ifclear BUGSONLY
-@node Actual Bugs
-@section Actual Bugs We Haven't Fixed Yet
-@end ifclear
+@ifset DOC-G77
+@node Known Bugs
+@section Known Bugs In GNU Fortran
+@end ifset
 
 This section identifies bugs that @code{g77} @emph{users}
-might run into in
-@ifhtml
-the current development
-@end ifhtml
-version
-@ifnothtml
-@value{version-g77}
-@end ifnothtml
+might run into in the @value{which-g77} version
 of @code{g77}.
 This includes bugs that are actually in the @code{gcc}
 back end (GBE) or in @code{libf2c}, because those
@@ -32,22 +45,56 @@ sets of code are at least somewhat under the control
 of (and necessarily intertwined with) @code{g77},
 so it isn't worth separating them out.
 
+@ifset DOC-G77
 For information on bugs in @emph{other} versions of @code{g77},
-@ifhtml
-see the page on Fortran news.
-@end ifhtml
-@ifnothtml
 @ref{News,,News About GNU Fortran}.
-@end ifnothtml
+There, lists of bugs fixed in various versions of @code{g77},
+can help determine what bugs existed in prior versions.
+@end ifset
 
+@ifset DOC-BUGS
+For information on bugs in @emph{other} versions of @code{g77},
+see @file{@value{path-g77}/NEWS}.
+There, lists of bugs fixed in various versions of @code{g77},
+can help determine what bugs existed in prior versions.
+@end ifset
+
+@ifset DEVELOPMENT
+@emph{Warning:} The information below is still under development,
+and might not accurately reflect the @code{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} @code{g77}.
+
+In particular, while this information is intended to apply to
+the @value{which-g77} version of @code{g77},
+only an official @emph{release} of that version
+is expected to contain documentation that is
+most consistent with the @code{g77} product in that version.
+@end ifset
+
+An online, ``live'' version of this document
+(derived directly from the mainline, development version
+of @code{g77} within @code{egcs})
+is available via
+@uref{http://egcs.cygnus.com/onlinedocs/g77_bugs.html}.
+Follow the ``Known Bugs'' link.
+
+@ifset DOC-G77
 For information on bugs that might afflict people who
 configure, port, build, and install @code{g77},
-@ifhtml
-see the chapter on installing in the @code{g77} documentation.
-@end ifhtml
-@ifnothtml
 @ref{Problems Installing}.
-@end ifnothtml
+@end ifset
+
+@ifset DOC-BUGS
+For information on bugs that might afflict people who
+configure, port, build, and install @code{g77},
+see "Problems Installing" in @file{@value{path-g77}/INSTALL}.
+@end ifset
+
+The following information was last updated on @value{last-update-bugs}:
 
 @itemize @bullet
 @item
@@ -129,14 +176,11 @@ improvements to the compiler.)
 
 Note that @code{g77} does display a warning message to
 notify the user before the compiler appears to hang.
-@ifhtml
-See the @code{g77} installation documentation
-@end ifhtml
-@ifnothtml
+@ifset DOC-G77
 @xref{Large Initialization,,Initialization of Large Aggregate Areas},
-@end ifnothtml
 for information on how to change the point at which
 @code{g77} decides to issue this warning.
+@end ifset
 
 @cindex debugging
 @cindex common blocks
@@ -154,13 +198,10 @@ As of Version 0.5.19, a temporary kludge solution is provided whereby
 some rudimentary information on a member is written as a string that
 is the member's value as a character string.
 
-@ifhtml
-See the @code{g77} documentation
-@end ifhtml
-@ifnothtml
+@ifset DOC-G77
 @xref{Code Gen Options,,Options for Code Generation Conventions},
-@end ifnothtml
 for information on the @samp{-fdebug-kludge} option.
+@end ifset
 
 @cindex code, displaying main source
 @cindex displaying main source code
index 3b77b01..9636f4d 100644 (file)
@@ -1,21 +1,9 @@
 \input texinfo  @c -*-texinfo-*-
-@c %**start of header 
+@c %**start of header
 @setfilename BUGS
-@set BUGSONLY
 @c %**end of header
 
-@c The immediately following lines apply to the BUGS file
-@c which is generated using this file.
-NOTE: This file is automatically generated from the files
-`bugs0.texi' and `bugs.texi'.  `BUGS' is *not* a source file,
-although it is normally included within source distributions.
-
-This file lists known bugs in the GNU Fortran compiler.
-Copyright (C) 1995-1998 Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-@node Top,,, (dir)
-@chapter Bugs in GNU Fortran
+@c This tells bugs.texi that it's generating just the BUGS file.
+@set DOC-BUGS
 @include bugs.texi
 @bye
index d6d6c57..c715d4f 100644 (file)
@@ -1,26 +1,15 @@
 \input texinfo  @c -*-texinfo-*-
-@c fix @set inside @example:
-@tex
-\gdef\set{\begingroup\catcode` =10 \parsearg\setxxx}
-\gdef\setyyy#1 #2\endsetyyy{%
-  \def\temp{#2}%
-  \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
-  \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
-  \fi
-  \endgroup
-}
-@end tex
-
 @c %**start of header
 @setfilename g77.info
 
-@set last-up-date 1999-03-11
-@set version-g77 0.5.24
-@set email-general egcs@@egcs.cygnus.com
-@set email-bugs egcs-bugs@@egcs.cygnus.com
-@set email-burley craig@@jcb-sc.com
-@set path-g77 egcs/gcc/f
-@set path-libf2c egcs/libf2c
+@set last-update 1999-03-13
+@set copyrights-g77 1995-1999
+
+@include root.texi
+
+@c This tells @include'd files that they're part of the overall G77 doc
+@c set.  (They might be part of a higher-level doc set too.)
+@set DOC-G77
 
 @c @setfilename useg77.info
 @c @setfilename portg77.info
 @c and make sure the following does NOT begin with '@c':
 @c @clear USING
 
-@c (For FSF printing, turn on smallbook; that is all that is needed.)
+@c 6/27/96 FSF DO wants smallbook fmt for 1st bound edition. (from gcc.texi)
+@c @smallbook
 
-@c smallbook
+@c i also commented out the finalout command, so if there *are* any
+@c overfulls, you'll (hopefully) see the rectangle in the right hand
+@c margin. -- burley 1999-03-13 (from mew's comment in gcc.texi).
+@c @finalout
 
 @ifset INTERNALS
 @ifset USING
 @syncodeindex fn cp
 @syncodeindex vr cp
 @c %**end of header
-@setchapternewpage odd
+
+@c Cause even numbered pages to be printed on the left hand side of
+@c the page and odd numbered pages to be printed on the right hand
+@c side of the page.  Using this, you can print on both sides of a
+@c sheet of paper and have the text on the same part of the sheet.
+
+@c The text on right hand pages is pushed towards the right hand
+@c margin and the text on left hand pages is pushed toward the left
+@c hand margin.
+@c (To provide the reverse effect, set bindingoffset to -0.75in.)
+
+@c @tex
+@c \global\bindingoffset=0.75in
+@c \global\normaloffset =0.75in
+@c @end tex
 
 @ifinfo
-This file explains how to use the GNU Fortran system.
+@dircategory Programming
+@direntry
+* g77: (g77).                  The GNU Fortran compiler.
+@end direntry
+@ifset INTERNALS
+@ifset USING
+This file documents the use and the internals of the GNU Fortran (@code{g77})
+compiler.
+It corresponds to the @value{which-g77} version of @code{g77}.
+@end ifset
+@end ifset
+@ifclear USING
+This file documents the internals of the GNU Fortran (@code{g77}) compiler.
+It corresponds to the @value{which-g77} version of @code{g77}.
+@end ifclear
+@ifclear INTERNALS
+This file documents the use of the GNU Fortran (@code{g77}) compiler.
+It corresponds to the @value{which-g77} version of @code{g77}.
+@end ifclear
 
 Published by the Free Software Foundation
 59 Temple Place - Suite 330
 Boston, MA 02111-1307 USA
 
-Copyright (C) 1995-1997 Free Software Foundation, Inc.
+Copyright (C) @value{copyrights-g77} Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -104,23 +129,32 @@ Contributed by James Craig Burley (@email{@value{email-burley}}).
 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}).
 
-@finalout
+@setchapternewpage odd
+@c @finalout
 @titlepage
-@comment The title is printed in a large font.
-@center @titlefont{Using GNU Fortran}
+@ifset INTERNALS
+@ifset USING
+@center @titlefont{Using and Porting GNU Fortran}
+
+@end ifset
+@end ifset
+@ifclear INTERNALS
+@title Using GNU Fortran
+@end ifclear
+@ifclear USING
+@title Porting GNU Fortran
+@end ifclear
 @sp 2
 @center James Craig Burley
 @sp 3
-@center Last updated @value{last-up-date}
+@center Last updated @value{last-update}
 @sp 1
-@c The version number appears some more times in this file.
-
 @center for version @value{version-g77}
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1995-1999 Free Software Foundation, Inc.
+Copyright @copyright{} @value{copyrights-g77} Free Software Foundation, Inc.
 @sp 2
-For GNU Fortran Version @value{version-g77}*
+For the @value{which-g77} Version*
 @sp 1
 Published by the Free Software Foundation @*
 59 Temple Place - Suite 330@*
@@ -153,34 +187,50 @@ original English.
 
 @ifinfo
 
-@dircategory Programming
-@direntry
-* g77: (g77).                  The GNU Fortran compiler.
-@end direntry
 @node Top, Copying,, (DIR)
 @top Introduction
 @cindex Introduction
 
 @ifset INTERNALS
 @ifset USING
-This manual documents how to run, install and port the GNU Fortran
-compiler, as well as its new features and incompatibilities, and how to
-report bugs.  It corresponds to GNU Fortran version @value{version-g77}.
+This manual documents how to run, install and port @code{g77},
+as well as its new features and incompatibilities,
+and how to report bugs.
+It corresponds to the @value{which-g77} version of @code{g77}.
 @end ifset
 @end ifset
 
 @ifclear INTERNALS
-This manual documents how to run and install the GNU Fortran compiler,
+This manual documents how to run and install @code{g77},
 as well as its new features and incompatibilities, and how to report
-bugs.  It corresponds to GNU Fortran version @value{version-g77}.
+bugs.
+It corresponds to the @value{which-g77} version of @code{g77}.
 @end ifclear
 @ifclear USING
-This manual documents how to port the GNU Fortran compiler,
-as well as its new features and incompatibilities, and how to report
-bugs.  It corresponds to GNU Fortran version @value{version-g77}.
+This manual documents how to port @code{g77},
+as well as its new features and incompatibilities,
+and how to report bugs.
+It corresponds to the @value{which-g77} version of @code{g77}.
 @end ifclear
 
 @end ifinfo
+
+@ifset DEVELOPMENT
+@emph{Warning:} This document is still under development,
+and might not accurately reflect the @code{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} @code{g77}.
+
+In particular, while this document is intended to apply to
+the @value{which-g77} version of @code{g77},
+only an official @emph{release} of that version
+is expected to contain documentation that is
+most consistent with the @code{g77} product in that version.
+@end ifset
+
 @menu
 * Copying::         GNU General Public License says
                     how you can copy and share GNU Fortran.
@@ -3374,806 +3424,9 @@ variables.
 
 @include news.texi
 
-@node Changes
-@chapter User-visible Changes
-@cindex versions, recent
-@cindex recent versions
-@cindex changes, user-visible
-@cindex user-visible changes
-
-This section describes changes to @code{g77} that are visible
-to the programmers who actually write and maintain Fortran
-code they compile with @code{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 @code{g77}.
-@xref{News,,News About GNU Fortran}, for information on
-such changes to @code{g77}.
-
-To find out about existing bugs and ongoing plans for GNU
-Fortran, retrieve @uref{ftp://alpha.gnu.org/g77.plan}
-or, if you cannot do that, email
-@email{fortran@@gnu.org} asking for a recent copy of the
-GNU Fortran @file{.plan} file.
-
-@heading In @code{egcs 1.2}:
-@itemize @bullet
-@item
-Source file names with the suffixes @samp{.FOR} and @samp{.FPP}
-now are recognized by @code{g77}
-as if they ended in @samp{.for} and @samp{.fpp}, respectively.
-@end itemize
-
-@heading In @code{egcs} 1.1 (versus 0.5.24):
-@itemize @bullet
-@cindex alignment
-@cindex double-precision performance
-@cindex -malign-double
-@item
-Align static double-precision variables and arrays
-on Intel x86 targets
-regardless of whether @samp{-malign-double} is specified.
-
-Generally, this affects only local variables and arrays
-having the @code{SAVE} attribute
-or given initial values via @code{DATA}.
-@end itemize
-
-@heading In @code{egcs} 1.1 (versus @code{egcs} 1.0.3):
-@itemize @bullet
-@item
-Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
-compile-time constant @code{INTEGER} expression.
-
-@item
-Fix @code{g77} @samp{-g} option so procedures that
-use @samp{ENTRY} can be stepped through, line by line,
-in @code{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
-@code{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.
-
-@item
-The @code{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 @code{g77} version is picked up.
-
-@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.
-@end itemize
-
-@heading In 0.5.24 and @code{egcs} 1.1 (versus 0.5.23):
-@itemize @bullet
-@item
-@code{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 @code{g77} actually generates code
-for these cases.
-
-Previously, @code{g77} treated these expressions
-as denoting special ``pointer'' arguments
-for the purposes of filewide analysis.
-
-@item
-The @code{g77} driver now ensures that @samp{-lg2c}
-is specified in the link phase prior to any
-occurrence of @samp{-lm}.
-This prevents accidentally linking to a routine
-in the SunOS4 @samp{-lm} library
-when the generated code wants to link to the one
-in @code{libf2c} (@code{libg2c}).
-
-@item
-@code{g77} emits more debugging information when
-@samp{-g} is used.
-
-This new information allows, for example,
-@kbd{which __g77_length_a} to be used in @code{gdb}
-to determine the type of the phantom length argument
-supplied with @samp{CHARACTER} variables.
-
-This information pertains to internally-generated
-type, variable, and other information,
-not to the longstanding deficiencies vis-a-vis
-@samp{COMMON} and @samp{EQUIVALENCE}.
-
-@item
-The F90 @samp{Date_and_Time} intrinsic now is
-supported.
-
-@item
-The F90 @samp{System_Clock} intrinsic allows
-the optional arguments (except for the @samp{Count}
-argument) to be omitted.
-@end itemize
-
-@heading In 0.5.23:
-@itemize @bullet
-@item
-This release contains several regressions against
-version 0.5.22 of @code{g77}, due to using the
-``vanilla'' @code{gcc} back end instead of patching
-it to fix a few bugs and improve performance in a
-few cases.
-
-@xref{Actual Bugs,,Actual Bugs We Haven't Fixed Yet},
-available in plain-text format in @code{gcc/f/BUGS},
-for information on the known bugs in this version,
-including the regressions.
-
-Features that have been dropped from this version
-of @code{g77} due to their being implemented
-via @code{g77}-specific patches to the @code{gcc}
-back end in previous releases include:
-
-@itemize --
-@item
-Support for @code{__restrict__} keyword,
-the options @samp{-fargument-alias}, @samp{-fargument-noalias},
-and @samp{-fargument-noalias-global},
-and the corresponding alias-analysis code.
-
-(@code{egcs} has the alias-analysis
-code, but not the @code{__restrict__} keyword.
-@code{egcs} @code{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
-@samp{-fmove-all-movables},
-@samp{-freduce-all-givs},
-and @samp{-frerun-loop-opt}.
-
-(@code{egcs} supports these options.
-@code{g77} users of @code{egcs} benefit from them even if
-they are not explicitly specified,
-because the defaults are optimized for @code{g77} users.)
-
-@item
-Support for the @samp{-W} option warning about
-integer division by zero.
-
-@item
-The Intel x86-specific option @samp{-malign-double}
-applying to stack-allocated data
-as well as statically-allocate data.
-@end itemize
-
-@item
-Support @code{gcc} version 2.8,
-and remove support for prior versions of @code{gcc}.
-
-@cindex -@w{}-driver option
-@cindex @code{g77} options, -@w{}-driver
-@cindex options, -@w{}-driver
-@item
-Remove support for the @samp{--driver} option,
-as @code{g77} now does all the driving,
-just like @code{gcc}.
-
-@item
-The @code{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 @code{g77} version is picked up.
-
-@item
-@code{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.
-
-@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.
-@end itemize
-
-@heading In 0.5.22:
-@itemize @bullet
-@item
-Fix @code{Signal} intrinsic so it offers portable
-support for 64-bit systems (such as Digital Alphas
-running GNU/Linux).
-
-@item
-Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
-compile-time constant @code{INTEGER} expression.
-
-@item
-Fix @code{g77} @samp{-g} option so procedures that
-use @samp{ENTRY} can be stepped through, line by line,
-in @code{gdb}.
-
-@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 @code{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}.
-
-@item
-Fix @samp{-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 @samp{-fgnu-intrinsics-*} and
-@samp{-fbadu77-intrinsics-*} options.
-@end itemize
-
-@heading In @code{egcs} 1.0.2 (versus @code{egcs} 1.0.1):
-@itemize @bullet
-@item
-Fix compiler so it accepts @samp{-fgnu-intrinsics-*} and
-@samp{-fbadu77-intrinsics-*} options.
-@end itemize
-
-@heading In @code{egcs} 1.0 (versus 0.5.21):
-@itemize @bullet
-@item
-Version 1.0 of @code{egcs}
-contains several regressions against
-version 0.5.21 of @code{g77},
-due to using the
-``vanilla'' @code{gcc} back end instead of patching
-it to fix a few bugs and improve performance in a
-few cases.
-
-@xref{Actual Bugs,,Actual Bugs We Haven't Fixed Yet},
-available in plain-text format in @code{gcc/f/BUGS},
-for information on the known bugs in this version,
-including the regressions.
-
-Features that have been dropped from this version
-of @code{g77} due to their being implemented
-via @code{g77}-specific patches to the @code{gcc}
-back end in previous releases include:
-
-@itemize --
-@item
-Support for the C-language @code{restrict} keyword.
-
-@item
-Support for the @samp{-W} option warning about
-integer division by zero.
-
-@item
-The Intel x86-specific option @samp{-malign-double}
-applying to stack-allocated data
-as well as statically-allocate data.
-@end itemize
-
-@cindex -@w{}-driver option
-@cindex @code{g77} options, -@w{}-driver
-@cindex options, -@w{}-driver
-@item
-Remove support for the @samp{--driver} option,
-as @code{g77} now does all the driving,
-just like @code{gcc}.
-
-@item
-Allow any numeric argument to intrinsics
-@code{Int2} and @code{Int8}.
-@end itemize
-
-@heading In 0.5.21:
-@itemize @bullet
-@item
-When the @samp{-W} option is specified, @code{gcc}, @code{g77},
-and other GNU compilers that incorporate the @code{gcc}
-back end as modified by @code{g77}, issue
-a warning about integer division by constant zero.
-
-@item
-New option @samp{-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 @code{g77}.
-
-@item
-New option @samp{-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 @samp{-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.
-
-@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 @samp{Status} argument.
-
-@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}.
-
-@item
-Add options @samp{-fbadu77-intrinsics-delete},
-@samp{-fbadu77-intrinsics-hide}, and so on.
-
-@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)}.
-
-@item
-@code{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 @code{ratfor} command, available
-separately.
-@end itemize
-
-@heading In 0.5.20:
-@itemize @bullet
-@item
-The @samp{-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 @samp{-ftypeless-boz} to cause such
-constants to be interpreted as typeless.
-
-(Version 0.5.19 introduced @samp{-fno-typeless-boz} and
-its inverse.)
-
-@xref{Fortran Dialect Options,,Options Controlling Fortran Dialect},
-for information on the @samp{-ftypeless-boz} option.
-
-@item
-Options @samp{-ff90-intrinsics-enable} and
-@samp{-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, @samp{-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 @samp{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 @samp{ALWAYS_FLUSH} defined,
-you will have to modify @code{libf2c} accordingly before
-building it from this and future versions of @code{g77}.
-
-@xref{Output Assumed To Flush}, for more information.
-
-@item
-Dave Love's implementation of @code{libU77} has been
-added to the version of @code{libf2c} distributed with
-and built as part of @code{g77}.
-@code{g77} now knows about the routines in this library
-as intrinsics.
-
-@item
-New option @samp{-fvxt} specifies that the
-source file is written in VXT Fortran, instead of GNU Fortran.
-
-@xref{VXT Fortran}, for more information on the constructs
-recognized when the @samp{-fvxt} option is specified.
-
-@item
-The @samp{-fvxt-not-f90} option has been deleted,
-along with its inverse, @samp{-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 @code{g77}.
-
-@xref{Other Dialects}, for more information.
-
-@item
-The @samp{-fugly} option now issues a warning, as it
-likely will be removed in a future version.
-
-(Enabling all the @samp{-fugly-*} options is unlikely
-to be feasible, or sensible, in the future,
-so users should learn to specify only those
-@samp{-fugly-*} options they really need for a
-particular source file.)
-
-@item
-The @samp{-fugly-assumed} option, introduced in
-version 0.5.19, has been changed to
-better accommodate old and new code.
-@xref{Ugly Assumed-Size Arrays}, for more information.
-
-@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 @code{g77} front
-end, to avoid bugs in @code{complex} support in the
-@code{gcc} back end.
-New option @samp{-fno-emulate-complex}
-causes @code{g77} to revert the 0.5.19 behavior.
-
-@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 @samp{-fforce-addr}
-also is specified.
-
-New options @samp{-falias-check}, @samp{-fargument-alias},
-@samp{-fargument-noalias},
-and @samp{-fno-argument-noalias-global} control the
-way @code{g77} handles potential aliasing.
-
-@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 @code{g77}.
-
-@item
-New option @samp{-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, @code{g77} uses a separate memory location
-to hold assigned statement labels.)
-
-@xref{Ugly Assigned Labels}, for more information.
-
-@item
-@code{FORMAT} and @code{ENTRY} statements now are allowed to
-precede @code{IMPLICIT NONE} statements.
-
-@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 @code{f2c} users
-may make full use of its features via the @code{g77}
-version of @file{f2c.h} and the @code{INTEGER(KIND=2)}
-support routines in the @code{g77} version of @code{libf2c}.
-
-@item
-Improve @code{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, @samp{gnu}, has been added
-to contain the new @code{REALPART}, @code{IMAGPART},
-and @code{COMPLEX} intrinsics.
-An old group, @samp{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
-@samp{-ff90} option specifies Fortran 90 interpretation
-or new @samp{-fugly-complex} option, in conjunction with
-@samp{-fnot-f90}, specifies @code{f2c} interpretation.
-@end itemize
-
-@heading In 0.5.19:
-
-@itemize @bullet
-@item
-A temporary kludge option provides bare-bones information on
-@code{COMMON} and @code{EQUIVALENCE} members at debug time.
-@xref{Code Gen Options,,Options for Code Generation Conventions},
-for information on the @samp{-fdebug-kludge} option.
-
-@item
-New @samp{-fonetrip} option specifies FORTRAN-66-style
-one-trip @code{DO} loops.
-
-@item
-New @samp{-fno-silent} option causes names of program units
-to be printed as they are compiled, in a fashion similar to
-UNIX @code{f77} and @code{f2c}.
-
-@item
-New @samp{-fugly-assumed} option specifies that arrays
-dimensioned via @samp{DIMENSION X(1)}, for example, are to be
-treated as assumed-size.
-
-@item
-New @samp{-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(KIND=1)} constants.
-
-@item
-New @samp{-ff66} option is a ``shorthand'' option that specifies
-behaviors considered appropriate for FORTRAN 66 programs.
-
-@item
-New @samp{-ff77} option is a ``shorthand'' option that specifies
-behaviors considered appropriate for UNIX @code{f77} programs.
-
-@item
-New @samp{-fugly-comma} and @samp{-fugly-logint} options provided
-to perform some of what @samp{-fugly} used to do.
-@samp{-fugly} and @samp{-fno-ugly} are now ``shorthand'' options,
-in that they do nothing more than enable (or disable) other
-@samp{-fugly-*} options.
-
-@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
-Add options @samp{--help} and @samp{--version} to the
-@code{g77} command, to conform to GNU coding guidelines.
-Also add printing of @code{g77} version number when
-the @samp{--verbose} (@samp{-v}) option is used.
-@end itemize
-
-@heading In 0.5.18:
-
-@itemize @bullet
-@item
-The @code{BYTE} and @code{WORD} statements now are supported,
-to a limited extent.
-
-@item
-@code{INTEGER*1}, @code{INTEGER*2}, @code{INTEGER*8},
-and their @code{LOGICAL}
-equivalents, now are supported to a limited extent.
-Among the missing elements are complete intrinsic and constant
-support.
-
-@item
-Support automatic arrays in procedures.
-For example, @samp{REAL A(N)}, where @samp{A} is
-not a dummy argument, specifies that @samp{A} is
-an automatic array.
-The size of @samp{A} is calculated from the value
-of @samp{N} each time the procedure is called,
-that amount of space is allocated, and that space
-is freed when the procedure returns to its caller.
-
-@item
-Add @samp{-fno-zeros} option, enabled by default,
-to reduce compile-time CPU and memory usage for
-code that provides initial zero values for variables
-and arrays.
-
-@item
-Introduce three new options that apply to all compilations
-by @code{g77}-aware GNU compilers---@samp{-fmove-all-movables},
-@samp{-freduce-all-givs}, and @samp{-frerun-loop-opt}---which
-can improve the run-time performance of some programs.
-
-@item
-Replace much of the existing documentation with a single
-Info document.
-
-@item
-New option @samp{-fno-second-underscore}.
-@end itemize
-
-@heading In 0.5.17:
-
-@itemize @bullet
-@item
-The @code{ERF()} and @code{ERFC()} intrinsics now are generic
-intrinsics, mapping to @code{ERF}/@code{DERF} and
-@code{ERFC}/@code{DERFC}, respectively.
-@emph{Note:} Use @samp{INTRINSIC ERF,ERFC} in any code that
-might reference these as generic intrinsics, to
-improve the likelihood of diagnostics (instead of subtle run-time
-bugs) when using compilers that don't support these as intrinsics.
-
-@item
-New option @samp{-Wsurprising}.
-
-@item
-DO loops with non-@code{INTEGER} variables now diagnosed only when
-@samp{-Wsurprising} specified.
-Previously, this was diagnosed @emph{unless} @samp{-fpedantic} or
-@samp{-fugly} was specified.
-@end itemize
-
-@heading In 0.5.16:
-
-@itemize @bullet
-@item
-@code{libf2c} changed to output a leading zero (0) digit for floating-point
-values output via list-directed and formatted output (to bring @code{g77}
-more into line with many existing Fortran implementations---the
-ANSI FORTRAN 77 standard leaves this choice to the implementation).
-
-@item
-@code{libf2c} no longer built with debugging information
-intact, making it much smaller.
-
-@item
-Automatic installation of the @code{g77} command now works.
-
-@item
-Diagnostic messages now more informative, a la @code{gcc},
-including messages like @samp{In function `foo':} and @samp{In file
-included from...:}.
-
-@item
-New group of intrinsics called @samp{unix}, including @code{ABORT},
-@code{DERF}, @code{DERFC}, @code{ERF}, @code{ERFC}, @code{EXIT},
-@code{FLUSH}, @code{GETARG}, @code{GETENV}, @code{SIGNAL}, and
-@code{SYSTEM}.
-
-@item
-@samp{-funix-intrinsics-@{delete,hide,disable,enable@}}
-options added.
-
-@item
-@samp{-fno-underscoring} option added.
-
-@item
-@samp{--driver} option added to the @code{g77} command.
-
-@item
-Support for the @code{gcc} options @samp{-fident} and @samp{-fno-ident}
-added.
-
-@item
-@samp{g77 -v} returns much more version info, making the submission
-of better bug reports easily.
-
-@item
-Many improvements to the @code{g77} command to better fulfill its role as
-a front-end to the @code{gcc} driver.
-For example, @code{g77} now
-recognizes @samp{--verbose} as a verbose way of specifying @samp{-v}.
-
-@item
-Compiling preprocessed (@file{*.F} and @file{*.fpp}) files now
-results in better diagnostics and debugging information, as the
-source-location info now is passed all the
-way through the compilation process instead of being lost.
-@end itemize
+@set USERVISONLY
+@include news.texi
+@clear USERVISONLY
 
 @node Language
 @chapter The GNU Fortran Language
@@ -11426,7 +10679,7 @@ or installing @code{g77} is not provided here.
 @xref{Problems Installing}.
 
 To find out about major bugs discovered in the current release and
-possible workarounds for them, retrieve
+possible workarounds for them, see
 @uref{ftp://alpha.gnu.org/g77.plan}.
 
 (Note that some of this portion of the manual is lifted
@@ -11439,7 +10692,7 @@ gcc,Using and Porting GNU CC}.)
 
 @menu
 * But-bugs::         Bugs really in other programs or elsewhere.
-* Actual Bugs::      Bugs and misfeatures we will fix later.
+* Known Bugs::       Bugs known to be in this version of @code{g77}.
 * Missing Features:: Features we already know we want to add later.
 * Disappointments::  Regrettable things we can't change.
 * Non-bugs::         Things we think are right, but some others disagree.
@@ -11999,7 +11252,6 @@ GNU Fortran language:
 * Intrinsics in PARAMETER Statements::
 * SELECT CASE on CHARACTER Type::
 * RECURSIVE Keyword::
-* AUTOMATIC Statement::
 * Popular Non-standard Types::
 * Full Support for Compiler Types::
 * Array Bounds Expressions::
@@ -12016,6 +11268,7 @@ GNU Fortran dialects:
 * STRUCTURE UNION RECORD MAP::
 * OPEN CLOSE and INQUIRE Keywords::
 * ENCODE and DECODE::
+* AUTOMATIC Statement::
 * Suppressing Space Padding::
 * Fortran Preprocessor::
 * Bit Operations on Floating-point Data::
@@ -12158,30 +11411,6 @@ designed to do recursion.
 All recursive code can be rewritten to not use recursion,
 but the result is not pretty.
 
-@node AUTOMATIC Statement
-@subsection @code{AUTOMATIC} Statement
-@cindex @code{AUTOMATIC} statement
-@cindex statements, @code{AUTOMATIC}
-@cindex automatic variables
-@cindex variables, automatic
-
-@code{g77} doesn't support the @code{AUTOMATIC} keyword that
-@code{f2c} does.
-
-It is not yet clear exactly what this statement would achieve.
-The semantic equivalent would be provided by @code{RECURSIVE}
-combined with lack of @code{SAVE}.
-In that sense, perhaps all it would provide is an
-overriding of an unadorned (blanket) @code{SAVE} statement
-for specific variables.
-
-It might also serve as a hint to the compiler that placing
-even a very large array on the stack is acceptable.
-
-Perhaps it should disallow @code{DATA}
-or other specification of any initial values
-for affected variables as well.
-
 @node Increasing Precision/Range
 @subsection Increasing Precision/Range
 @cindex -r8
@@ -12573,6 +11802,30 @@ with:
 It is entirely possible that @code{ENCODE} and @code{DECODE} will
 be supported by a future version of @code{g77}.
 
+@node AUTOMATIC Statement
+@subsection @code{AUTOMATIC} Statement
+@cindex @code{AUTOMATIC} statement
+@cindex statements, @code{AUTOMATIC}
+@cindex automatic variables
+@cindex variables, automatic
+
+@code{g77} doesn't support the @code{AUTOMATIC} keyword that
+@code{f2c} does.
+
+It is not yet clear exactly what this statement would achieve.
+The semantic equivalent would be provided by @code{RECURSIVE}
+combined with lack of @code{SAVE}.
+In that sense, perhaps all it would provide is an
+overriding of an unadorned (blanket) @code{SAVE} statement
+for specific variables.
+
+It might also serve as a hint to the compiler that placing
+even a very large array on the stack is acceptable.
+
+Perhaps it should disallow @code{DATA}
+or other specification of any initial values
+for affected variables as well.
+
 @node Suppressing Space Padding
 @subsection Suppressing Space Padding of Source Lines
 
index f8904da..c73fc06 100644 (file)
@@ -1,17 +1,35 @@
-@c Copyright (C) 1995-1998 Free Software Foundation, Inc.
+@c Copyright (C) 1995-1999 Free Software Foundation, Inc.
 @c This is part of the G77 manual.
 @c For copying conditions, see the file g77.texi.
 
-@c When changing the above copyright notice, be sure to
-@c change the one in `install0.texi' accordingly, to effect
-@c the change in the derived file `INSTALL'.
-
 @c The text of this file appears in the file INSTALL
 @c in the G77 distribution, as well as in the G77 manual.
 
-@c 1998-07-13
+@c Keep this the same as the dates above, since it's used
+@c in the standalone derivations of this file (e.g. INSTALL).
+@set copyrights 1995-1999
+
+@set last-update-install 1999-03-13
+
+@include root.texi
+
+@ifset DOC-INSTALL
+@c The immediately following lines apply to the INSTALL file
+@c which is generated using this file.
+@emph{Note:} This file is automatically generated from the files
+@file{install0.texi} and @file{g77install.texi}.
+@file{INSTALL} is @emph{not} a source file,
+although it is normally included within source distributions.
+
+This file contains installation information for the GNU Fortran compiler.
+Copyright (C) @value{copyrights-install} Free Software Foundation, Inc.
+You may copy, distribute, and modify it freely as long as you preserve
+this copyright notice and permission notice.
+
+@node Top,,, (dir)
+@chapter Installing GNU Fortran
+@end ifset
 
-@set version-g77 0.5.24
 @set version-gcc 2.8.1
 @set version-autoconf 2.12
 @set version-bison 1.25
 @set version-tar 1.12
 @set version-texinfo 3.12
 
-@ifclear INSTALLONLY
+@ifset DOC-G77
 @node Installation
 @chapter Installing GNU Fortran
-@end ifclear
 @cindex installing, GNU Fortran
+@end ifset
 
 The following information describes how to install @code{g77}.
 
+@ifset EGCS-G77
+@set OMIT-FSF-G77
 Note that, for @code{egcs} users,
-much of this information is obsolete,
+much of the information is obsolete,
 and is superceded by the
 @code{egcs} installation procedures.
-Such information is explicitly flagged as such.
+Such information is accordingly omitted and flagged as such.
+@ifset DEVELOPMENT
+@ifclear DOC-INSTALL
+@clear OMIT-FSF-G77
+(It is not actually omitted from the development version of this documentation,
+so the @code{g77} developers can easily find all the documentation
+for all versions of @code{g77} in one place.)
+@end ifclear
+@end ifset
+@end ifset
 
+@ifclear OMIT-FSF-G77
 The information in this file generally pertains to dealing
 with @emph{source} distributions of @code{g77} and @code{gcc}.
 It is possible that some of this information will be applicable
@@ -49,6 +79,25 @@ whoever built and first distributed them.
 Nevertheless, efforts to make @code{g77} easier to both build
 and install from source and package up as a binary distribution
 are ongoing.
+@end ifclear
+
+@ifset DEVELOPMENT
+@emph{Warning:} The information below is still under development,
+and might not accurately reflect the @code{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} @code{g77}.
+
+In particular, while this information is intended to apply to
+the @value{which-g77} version of @code{g77},
+only an official @emph{release} of that version
+is expected to contain documentation that is
+most consistent with the @code{g77} product in that version.
+@end ifset
+
+The following information was last updated on @value{last-update-install}:
 
 @menu
 * Prerequisites::          Make sure your system is ready for @code{g77}.
@@ -63,10 +112,12 @@ are ongoing.
 @section Prerequisites
 @cindex prerequisites
 
-@emph{Version info:}
-For @code{egcs} users, the following information is
+@ifset EGCS-G77
+For @code{egcs} users, this information is
 superceded by the @code{egcs} installation instructions.
+@end ifset
 
+@ifclear OMIT-FSF-G77
 The procedures described to unpack, configure, build, and
 install @code{g77} assume your system has certain programs
 already installed.
@@ -342,6 +393,8 @@ instead of the entire @file{.tar.gz} distribution
 to rebuild derived files, such as @code{makeinfo}).
 @end table
 
+@end ifclear
+
 @node Problems Installing
 @section Problems Installing
 @cindex problems installing
@@ -389,7 +442,7 @@ so there are no plans for an interim fix.
 This requirement does not mean you must already have @code{gcc}
 installed to build @code{g77}.
 As long as you have a working C compiler, you can use a
-bootstrap build to automate the process of first building
+``bootstrap'' build to automate the process of first building
 @code{gcc} using the working C compiler you have, then building
 @code{g77} and rebuilding @code{gcc} using that just-built @code{gcc},
 and so on.
@@ -429,10 +482,12 @@ is not yet established.
 @cindex @code{ld}, can't find _strtoul
 @cindex SunOS4
 
-@emph{Version info:}
-The following information does not apply to the
+@ifset EGCS-G77
+This information does not apply to the
 @code{egcs} version of @code{g77}.
+@end ifset
 
+@ifclear OMIT-FSF-G77
 On SunOS4 systems, linking the @code{f771} program used to
 produce an error message concerning an undefined symbol named
 @samp{_strtoul}, because the @samp{strtoul} library function
@@ -447,7 +502,7 @@ but every attempt at this has failed for at least one kind of system.
 
 To limit the failures to those few systems actually missing the
 required routines, the bare-bones versions are still provided,
-in @file{gcc/f/proj.c},
+in @file{@value{path-g77}/proj.c},
 if the appropriate macros are defined.
 These are @code{NEED_BSEARCH} for @samp{bsearch} and
 @code{NEED_STRTOUL} for @samp{NEED_STRTOUL}.
@@ -455,7 +510,7 @@ These are @code{NEED_BSEARCH} for @samp{bsearch} and
 Therefore, if you are sure your system is missing
 @code{bsearch} or @code{strtoul} in its library,
 define the relevant macro(s) before building @code{g77}.
-This can be done by editing @file{gcc/f/proj.c} and inserting
+This can be done by editing @file{@value{path-g77}/proj.c} and inserting
 either or both of the following @samp{#define} statements
 before the comment shown:
 
@@ -474,15 +529,17 @@ To build with the bundled @code{cc} on SunOS4, for example, try:
 make bootstrap BOOT_CFLAGS='-O2 -g -DNEED_STRTOUL'
 @end smallexample
 
-If you then encounter problems compiling @file{gcc/f/proj.c},
+If you then encounter problems compiling @file{@value{path-g77}/proj.c},
 it might be due to a discrepancy between how @samp{bsearch}
 or @samp{strtoul} are defined by that file and how they're
 declared by your system's header files.
 
 In that case, you'll have to use some basic knowledge of C
-to work around the problem, perhaps by editing @file{gcc/f/proj.c}
+to work around the problem, perhaps by editing @file{@value{path-g77}/proj.c}
 somewhat.
 
+@end ifclear
+
 @node Cleanup Kills Stage Directories
 @subsubsection Cleanup Kills Stage Directories
 @cindex stage directories
@@ -536,7 +593,9 @@ be fixed in a future version of @code{gcc}.
 A linker bug on some versions of AIX 4.1 might prevent building
 when @code{g77} is built within @code{gcc}.
 It might also occur when building within @code{egcs}.
+@ifset DOC-G77
 @xref{LINKFAIL}.
+@end ifset
 
 @node Cross-compiler Problems
 @subsection Cross-compiler Problems
@@ -601,7 +660,7 @@ system, depending on the systems involved in the configuration.
 @section Changing Settings Before Building
 
 Here are some internal @code{g77} settings that can be changed
-by editing source files in @file{gcc/f/} before building.
+by editing source files in @file{@value{path-g77}/} before building.
 
 This information, and perhaps even these settings, represent
 stop-gap solutions to problems people doing various ports
@@ -641,7 +700,7 @@ the use of unit numbers higher than 99, you can change the
 value of the @samp{MXUNIT} macro, which represents the maximum unit
 number, to an appropriately higher value.
 
-To do this, edit the file @file{f/runtime/libI77/fio.h} in your
+To do this, edit the file @file{@value{path-libf2c}/libI77/fio.h} in your
 @code{g77} source tree, changing the following line:
 
 @example
@@ -707,7 +766,7 @@ modify the @code{g77} source tree so that the version of
 @code{libg2c} is built with the @samp{ALWAYS_FLUSH} macro
 defined, enabling this behavior.
 
-To do this, find this line in @file{f/runtime/f2c.h} in
+To do this, find this line in @file{@value{path-libf2c}/f2c.h} in
 your @code{g77} source tree:
 
 @example
@@ -729,7 +788,7 @@ Then build or rebuild @code{g77} as appropriate.
 @cindex segmentation violation
 @code{g77}, on most machines, puts many variables and arrays on the stack
 where possible, and can be configured (by changing
-@samp{FFECOM_sizeMAXSTACKITEM} in @file{gcc/f/com.c}) to force
+@samp{FFECOM_sizeMAXSTACKITEM} in @file{@value{path-g77}/com.c}) to force
 smaller-sized entities into static storage (saving
 on stack space) or permit larger-sized entities to be put on the
 stack (which can improve run-time performance, as it presents
@@ -777,7 +836,7 @@ a factor of 10.
 This size currently is quite small, since @code{g77}
 currently has a known bug requiring too much memory
 and time to handle such cases.
-In @file{gcc/f/data.c}, the macro
+In @file{@value{path-g77}/data.c}, the macro
 @samp{FFEDATA_sizeTOO_BIG_INIT_} is defined
 to the minimum size for the warning to appear.
 The size is specified in storage units,
@@ -831,10 +890,12 @@ systems.
 @section Quick Start
 @cindex quick start
 
-@emph{Version info:}
-For @code{egcs} users, the following information is
+@ifset EGCS-G77
+For @code{egcs} users, this information is
 superceded by the @code{egcs} installation instructions.
+@end ifset
 
+@ifclear OMIT-FSF-G77
 This procedure configures, builds, and installs @code{g77}
 ``out of the box'' and works on most UNIX systems.
 Each command is identified by a unique number,
@@ -1112,13 +1173,17 @@ around anymore.
 Removing them can free up a lot of disk space.
 @end table
 
+@end ifclear
+
 @node Complete Installation
 @section Complete Installation
 
-@emph{Version info:}
-For @code{egcs} users, the following information is
-mostly superceded by the @code{egcs} installation instructions.
+@ifset EGCS-G77
+For @code{egcs} users, this information is
+superceded by the @code{egcs} installation instructions.
+@end ifset
 
+@ifclear OMIT-FSF-G77
 Here is the complete @code{g77}-specific information on how
 to configure, build, and install @code{g77}.
 
@@ -1270,7 +1335,7 @@ the directories they create.)
 
 If your version of @code{gcc} is older than the oldest version
 supported by @code{g77}
-(as casually determined by listing the contents of @file{gcc/f/INSTALL/},
+(as casually determined by listing the contents of @file{@value{path-g77}/INSTALL/},
 which contains these installation instructions in plain-text format),
 you should obtain a newer, supported version of @code{gcc}.
 (You could instead obtain an older version of @code{g77},
@@ -1295,9 +1360,7 @@ it is likely that @file{gcc-2.8.2} would work well with @code{g77}.
 However, @file{gcc-2.9.0} would almost certainly
 not work with that version of @code{g77}
 without appropriate modifications,
-so a new version of @code{g77} would be needed (and you should
-wait for it rather than bothering the maintainers---@pxref{Changes,,
-User-Visible Changes}).
+so a new version of @code{g77} would be needed.
 
 @cindex distributions, why separate
 @cindex separate distributions
@@ -1314,7 +1377,7 @@ and such changes require corresponding changes to
 the @code{g77} front end (FFE).
 
 @c @pindex config-lang.in
-@c @emph{Note:} @code{g77}'s configuration file @file{gcc/f/config-lang.in}
+@c @emph{Note:} @code{g77}'s configuration file @file{@value{path-g77}/config-lang.in}
 @c sometimes ensures that the source code for the version of @code{gcc}
 @c being configured has at least one indication of being an appropriate
 @c version as required specifically by @code{g77}.
@@ -1907,7 +1970,7 @@ do @emph{not} do @samp{make maintainer-clean}, and, to ensure that
 type these commands:
 
 @example
-sh# @kbd{cd gcc/f/runtime}
+sh# @kbd{cd @value{path-libf2c}}
 sh# @kbd{touch configure libU77/configure}
 sh# @kbd{cd ../../..}
 sh#
@@ -1978,11 +2041,19 @@ sh# @kbd{cd ..}
 sh#
 @end example
 
+@end ifclear
+
 @node Distributing Binaries
 @section Distributing Binaries
 @cindex binaries, distributing
 @cindex code, distributing
 
+@ifset EGCS-G77
+For @code{egcs} users, this information is
+superceded by the @code{egcs} installation instructions.
+@end ifset
+
+@ifclear OMIT-FSF-G77
 If you are building @code{g77} for distribution to others in binary form,
 first make sure you are aware of your legal responsibilities (read
 the file @file{gcc/COPYING} thoroughly).
@@ -2101,7 +2172,7 @@ If it is not included, users will have trouble understanding
 diagnostics messages and other such things, and will send
 you a lot of email asking questions.
 
-Please edit this documentation (by editing @file{gcc/f/*.texi}
+Please edit this documentation (by editing @file{@value{path-g77}/*.texi}
 and doing @samp{make doc} from the @file{/usr/src/gcc} directory)
 to reflect any changes you've made to @code{g77}, or at
 least to encourage users of your binary distribution to
@@ -2172,3 +2243,5 @@ and distributions, about which nothing could be done for the
 user.
 Once you are quite certain a bug report does not involve
 your efforts, you can forward it to us.
+
+@end ifclear
index 65d0d6b..44311dd 100644 (file)
@@ -1,21 +1,9 @@
 \input texinfo  @c -*-texinfo-*-
 @c %**start of header 
 @setfilename INSTALL
-@set INSTALLONLY
 @c %**end of header
 
-@c The immediately following lines apply to the INSTALL file
-@c which is generated using this file.
-NOTE: This file is automatically generated from the files
-`install0.texi' and `g77install.texi'.  `INSTALL' is *not* a source
-file, although it is normally included within source distributions.
-
-This file contains installation information for the GNU Fortran compiler.
-Copyright (C) 1995-1998 Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-@node Top,,, (dir)
-@chapter Installing GNU Fortran
+@c This tells g77install.texi that it's generating just the INSTALL file.
+@set DOC-INSTALL
 @include g77install.texi
 @bye
index a460fe0..cb6e019 100644 (file)
@@ -2,22 +2,64 @@
 @c This is part of the G77 manual.
 @c For copying conditions, see the file g77.texi.
 
-@c When changing the above copyright notice, be sure to
-@c change the one in `news0.texi' accordingly, to effect
-@c the change in the derived file `NEWS'.
-
-@c The text of this file appears in the file BUGS
+@c The text of this file appears in the file NEWS
 @c in the G77 distribution, as well as in the G77 manual.
 
-@c 1999-03-06
+@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-1999
+
+@set last-update-news 1999-03-13
+
+@include root.texi
 
-@ifclear NEWSONLY
+@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 @code{g77} that are visible
+to the programmers who actually write and maintain Fortran
+code they compile with @code{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 @code{g77}.
+@xref{News,,News About GNU Fortran}, for information on
+such changes to @code{g77}.
+@end ifset
+
+@ifclear USERVISONLY
 @node News
 @chapter News About GNU Fortran
-@end ifclear
 @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.
 
@@ -49,6 +91,7 @@ Miscellany
 
 This order is not strict---for example, some items
 involve a combination of these elements.
+@end ifclear
 
 Note that two variants of @code{g77} are tracked below.
 The @code{egcs} variant is described vis-a-vis
@@ -62,8 +105,55 @@ though this can make getting a complete picture
 of what a particular @code{egcs} version contains
 somewhat more difficult.
 
-@heading In @code{egcs} 1.2:
+@ifset DOC-G77
+For information on bugs in the @value{which-g77} version of @code{g77},
+@ref{Known Bugs,,Known Bugs In GNU Fortran}.
+@end ifset
+
+@ifset DOC-BUGS
+For information on bugs in the @value{which-g77} version of @code{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 @code{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} @code{g77}.
+
+In particular, while this information is intended to apply to
+the @value{which-g77} version of @code{g77},
+only an official @emph{release} of that version
+is expected to contain documentation that is
+most consistent with the @code{g77} product in that version.
+
+Nevertheless, information on @emph{previous} releases of @code{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 @code{g77} versions up-to-date.
+@end ifset
+
+@ifclear USERVISONLY
+An online, ``live'' version of this document
+(derived directly from the mainline, development version
+of @code{g77} within @code{egcs})
+is available at
+@uref{http://egcs.cygnus.com/onlinedocs/g77_news.html}.
+@end ifclear
+
+The following information was last updated on @value{last-update-news}:
+
+@heading In @code{egcs} 1.2 (versus 1.1.2):
 @itemize @bullet
+@ifclear USERVISONLY
 @item
 Fix @code{g77} so it no longer crashes when compiling
 I/O statements using keywords that define @code{INTEGER} values,
@@ -71,10 +161,13 @@ 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
 The @samp{-ax} option is now obeyed when compiling Fortran programs.
 (It is passed to the @file{f771} driver.)
+@end ifclear
 
 @item
 Source file names with the suffixes @samp{.FOR} and @samp{.FPP}
@@ -89,19 +182,26 @@ of catching references to the implementations of these intrinsics
 using the @samp{EXTERNAL} mechanism
 (which would avoid the new warnings).
 
+@ifset DOC-G77
 @xref{Year 2000 (Y2K) Problems}, for more information.
+@end ifset
 
+@ifclear USERVISONLY
 @item
 @code{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
 
+@ifclear USERVISONLY
 @item
 Improve documentation and indexing,
 including information on Year 2000 (Y2K) compliance.
+@end ifclear
 @end itemize
 
 @heading In 0.5.24 and @code{egcs} 1.1.2 (versus 0.5.23 and 1.1.1):
+@ifclear USERVISONLY
 @itemize @bullet
 @item
 Fix the @code{IDate} Intrinsic (VXT)
@@ -109,10 +209,10 @@ 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.
 
-@ifnothtml
+@ifset DOC-G77
 @xref{IDate Intrinsic (VXT)},
 for more information.
-@end ifnothtml
+@end ifset
 
 @item
 Fix the @samp{Date_and_Time} intrinsic (in @code{libg2c})
@@ -127,8 +227,10 @@ in @var{SArray}(7).
 @item
 Improve documentation.
 @end itemize
+@end ifclear
 
 @heading In 0.5.24 and @code{egcs} 1.1.1 (versus 0.5.23 and 1.1):
+@ifclear USERVISONLY
 @itemize @bullet
 @item
 Fix @code{libg2c} so it performs an implicit @code{ENDFILE} operation
@@ -156,20 +258,26 @@ better on some systems
 on @samp{if} constructs
 for the completion code to be set properly).
 @end itemize
+@end ifclear
 
 @heading In @code{egcs} 1.1 (versus 0.5.24):
 @itemize @bullet
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash compiling code
 containing the construct @samp{CMPLX(0.)} or similar.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash
 (or apparently infinite run-time)
 when compiling certain complicated expressions
 involving @code{COMPLEX} arithmetic
 (especially multiplication).
+@end ifclear
 
+@ifclear USERVISONLY
 @cindex DNRM2
 @cindex stack, 387 coprocessor
 @cindex Intel x86
@@ -183,6 +291,7 @@ the @samp{DNRM2} routine.
 The x87 coprocessor stack was being
 mismanaged in cases involving assigned @code{GOTO}
 and @code{ASSIGN}.
+@end ifclear
 
 @cindex alignment
 @cindex double-precision performance
@@ -200,6 +309,7 @@ or given initial values via @code{DATA}.
 @c 1998-09-01: 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 @samp{HostNm}
 that wrote one byte beyond the end of its @samp{CHARACTER}
@@ -207,7 +317,9 @@ argument,
 and in the @code{libU77} intrinsics
 @samp{GMTime} and @samp{LTime}
 that overwrote their arguments.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Assumed arrays with negative bounds
 (such as @samp{REAL A(-1:*)})
@@ -218,7 +330,9 @@ different sizes than integers.
 This bug is not known to have existed in any
 recent version of @code{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
@@ -227,14 +341,19 @@ and, in a subsequent program unit,
 referencing that external as
 an external function with a different type
 no longer crash @code{g77}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 @code{CASE DEFAULT} no longer crashes @code{g77}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 The @samp{-Wunused} option no longer issues a spurious
 warning about the ``master'' procedure generated by
 @code{g77} for procedures containing @code{ENTRY} statements.
+@end ifclear
 
 @item
 Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
@@ -267,6 +386,7 @@ 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
 @code{g77} no longer installs the @file{f77} command
 and @file{f77.1} man page
@@ -274,7 +394,9 @@ in the @file{/usr} or @file{/usr/local} heirarchy,
 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
 @code{g77} no longer installs the @file{libf2c.a} library
 and @file{f2c.h} include file
@@ -282,7 +404,9 @@ in the @file{/usr} or @file{/usr/local} heirarchy,
 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 @code{g77} has been
 renamed to @file{libg2c.a}.
@@ -292,7 +416,9 @@ 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 @code{g77}
 has been renamed to @file{g2c.h}.
@@ -302,6 +428,7 @@ 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 @code{g77} command now expects the run-time library
@@ -309,17 +436,21 @@ 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 @code{g77} version is picked up.
 
+@ifclear USERVISONLY
 @item
 During the configuration and build process,
 @code{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 @code{g77}
 (during installation).
+@end ifclear
 
 @item
 Some diagnostics have been changed from warnings to errors,
@@ -330,41 +461,53 @@ 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 @samp{T} format
 specifier, and perhaps some build (porting) problems
 as well.
+@end ifclear
 @end itemize
 
 @heading In 0.5.24 and @code{egcs} 1.1 (versus 0.5.23):
 @itemize @bullet
+@ifclear USERVISONLY
 @item
 @code{g77} no longer produces incorrect code
 and initial values
 for @samp{EQUIVALENCE} and @samp{COMMON}
 aggregates that, due to ``unnatural'' ordering of members
 vis-a-vis their types, require initial padding.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 @code{g77} no longer crashes when compiling code
 containing specification statements such as
 @samp{INTEGER(KIND=7) PTR}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 @code{g77} no longer crashes when compiling code
 such as @samp{J = SIGNAL(1, 2)}.
+@end ifclear
 
 @item
 @code{g77} now treats @samp{%LOC(@var{expr})} and
@@ -411,13 +554,30 @@ The F90 @samp{System_Clock} intrinsic allows
 the optional arguments (except for the @samp{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
@@ -428,16 +588,6 @@ version 0.5.22 of @code{g77}, due to using the
 it to fix a few bugs and improve performance in a
 few cases.
 
-@ifhtml
-See the page on Fortran news
-@end ifhtml
-@ifnothtml
-@xref{Actual Bugs,,Actual Bugs We Haven't Fixed Yet},
-available in plain-text format in @code{gcc/f/BUGS},
-@end ifnothtml
-for information on the known bugs in this version,
-including the regressions.
-
 Features that have been dropped from this version
 of @code{g77} due to their being implemented
 via @code{g77}-specific patches to the @code{gcc}
@@ -477,10 +627,13 @@ 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 @code{g77} no longer
 including patches for the @code{gcc} back end.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix bugs in the @code{libU77} intrinsic @samp{HostNm}
 that wrote one byte beyond the end of its @samp{CHARACTER}
@@ -488,22 +641,26 @@ argument,
 and in the @code{libU77} intrinsics
 @samp{GMTime} and @samp{LTime}
 that overwrote their arguments.
+@end ifclear
 
 @item
 Support @code{gcc} version 2.8,
 and remove support for prior versions of @code{gcc}.
 
 @cindex -@w{}-driver option
-@cindex g77 options, -@w{}-driver
+@cindex @code{g77} options, -@w{}-driver
 @cindex options, -@w{}-driver
 @item
 Remove support for the @samp{--driver} option,
 as @code{g77} now does all the driving,
 just like @code{gcc}.
 
+@ifclear USERVISONLY
 @item
 @code{CASE DEFAULT} no longer crashes @code{g77}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Valid combinations of @code{EXTERNAL},
 passing that external as a dummy argument
@@ -512,7 +669,9 @@ and, in a subsequent program unit,
 referencing that external as
 an external function with a different type
 no longer crash @code{g77}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 @code{g77} no longer installs the @file{f77} command
 and @file{f77.1} man page
@@ -520,7 +679,9 @@ in the @file{/usr} or @file{/usr/local} heirarchy,
 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
 @code{g77} no longer installs the @file{libf2c.a} library
 and @file{f2c.h} include file
@@ -528,7 +689,9 @@ in the @file{/usr} or @file{/usr/local} heirarchy,
 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 @code{g77} has been
 renamed to @file{libg2c.a}.
@@ -538,7 +701,9 @@ 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 @code{g77}
 has been renamed to @file{g2c.h}.
@@ -548,6 +713,7 @@ 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 @code{g77} command now expects the run-time library
@@ -555,10 +721,12 @@ 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 @code{g77} version is picked up.
 
+@ifclear USERVISONLY
 @item
 The @samp{-Wunused} option no longer issues a spurious
 warning about the ``master'' procedure generated by
 @code{g77} for procedures containing @code{ENTRY} statements.
+@end ifclear
 
 @item
 @code{g77}'s version of @code{libf2c} separates out
@@ -572,6 +740,7 @@ 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,
 @code{g77} creates subdirectories it needs only as it
@@ -579,11 +748,14 @@ 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 @code{g77}
 (during installation).
+@end ifclear
 
 @item
 Some diagnostics have been changed from warnings to errors,
@@ -594,9 +766,12 @@ 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.
 
@@ -604,17 +779,21 @@ This should fix a variety of problems, including
 those involving some uses of the @samp{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
@@ -628,49 +807,66 @@ the @samp{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 @code{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 @samp{f_exit} routine (such as via @kbd{C-c}).
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash triggered by @code{CASE} statement with
 an omitted lower or upper bound.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash compiling references to @code{CPU_Time}
 intrinsic.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash
 (or apparently infinite run-time)
 when compiling certain complicated expressions
 involving @code{COMPLEX} arithmetic
 (especially multiplication).
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{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 @code{g++} crash.
+@end ifclear
 
 @item
 Support @samp{FORMAT(I<@var{expr}>)} when @var{expr} is a
@@ -681,9 +877,11 @@ Fix @code{g77} @samp{-g} option so procedures that
 use @samp{ENTRY} can be stepped through, line by line,
 in @code{gdb}.
 
+@ifclear USERVISONLY
 @item
 Fix a profiling-related bug in @code{gcc} back end for
 Intel x86 architecture.
+@end ifclear
 
 @item
 Allow any @code{REAL} argument to intrinsics
@@ -706,9 +904,11 @@ C programs.
 Support for @code{restrict} is now more like support
 for @code{complex}.
 
+@ifclear USERVISONLY
 @item
 Fix @samp{-fpedantic} to not reject procedure invocations
 such as @samp{I=J()} and @samp{CALL FOO()}.
+@end ifclear
 
 @item
 Fix @samp{-fugly-comma} to affect invocations of
@@ -720,6 +920,7 @@ arguments to intrinsics, as in @samp{I=MAX(3,4,,)}.
 Fix compiler so it accepts @samp{-fgnu-intrinsics-*} and
 @samp{-fbadu77-intrinsics-*} options.
 
+@ifclear USERVISONLY
 @item
 Improve diagnostic messages from @code{libf2c}
 so it is more likely that the printing of the
@@ -732,45 +933,63 @@ 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
 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-15: egcs-1.0.2 released.
 @heading In @code{egcs} 1.0.2 (versus @code{egcs} 1.0.1):
 @itemize @bullet
+@ifclear USERVISONLY
 @item
 Fix @code{g77} crash triggered by @code{CASE} statement with
 an omitted lower or upper bound.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{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
@@ -779,16 +998,21 @@ Fix @code{g77} crash on statements such as
 Fix @samp{-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 @samp{-fpedantic} to not reject procedure invocations
 such as @samp{I=J()} and @samp{CALL FOO()}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @samp{-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 @samp{-fgnu-intrinsics-*} and
@@ -797,11 +1021,13 @@ Fix compiler so it accepts @samp{-fgnu-intrinsics-*} and
 
 @c 1998-01-02: 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 0.5.21):
@@ -815,16 +1041,6 @@ due to using the
 it to fix a few bugs and improve performance in a
 few cases.
 
-@ifhtml
-See the page on Fortran news
-@end ifhtml
-@ifnothtml
-@xref{Actual Bugs,,Actual Bugs We Haven't Fixed Yet},
-available in plain-text format in @code{gcc/f/BUGS},
-@end ifnothtml
-for information on the known bugs in this version,
-including the regressions.
-
 Features that have been dropped from this version
 of @code{g77} due to their being implemented
 via @code{g77}-specific patches to the @code{gcc}
@@ -844,21 +1060,28 @@ 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 @code{g77}
 being fully integrated with
 the @code{egcs} variant of the @code{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
@@ -870,12 +1093,15 @@ 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 @code{gcc}.
+@end ifclear
 
 @cindex -@w{}-driver option
-@cindex g77 options, -@w{}-driver
+@cindex @code{g77} options, -@w{}-driver
 @cindex options, -@w{}-driver
 @item
 Remove support for the @samp{--driver} option,
@@ -886,6 +1112,7 @@ just like @code{gcc}.
 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
@@ -898,17 +1125,21 @@ 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
@@ -916,7 +1147,9 @@ caused by loop unrolling (by specifying
 This bug afflicted all code compiled by
 version 2.7.2.2.f.2 of @code{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
@@ -925,7 +1158,9 @@ the first executable statement (or is
 treated as an executable-context statement
 as a result of using the @samp{-fpedantic}
 option).
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix a compiler crash that occured when an
 integer division by a constant zero is detected.
@@ -934,27 +1169,44 @@ the @code{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 @code{gcc} (C, C++,
 Fortran, and so on).
+@end ifclear
+@ifset USERVISONLY
+@item
+When the @samp{-W} option is specified, @code{gcc}, @code{g77},
+and other GNU compilers that incorporate the @code{gcc}
+back end as modified by @code{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 @samp{FTELL} or
@@ -962,6 +1214,7 @@ non-standard intrinsics (such as @samp{FTELL} or
 or common block.
 Such dual use of a name in a program is allowed by
 the standard.
+@end ifclear
 
 @c @code{g77}'s version of @code{libf2c} has been modified
 @c so that the external names of library's procedures do not
@@ -988,16 +1241,20 @@ the standard.
 @c the new @code{libf2c} routine @samp{fputc_}, which is
 @c simply a jacket routine that calls @samp{G77_fputc_0}.
 
+@ifclear USERVISONLY
 @item
 Place automatic arrays on the stack, even if
 @code{SAVE} or the @samp{-fno-automatic} option
 is in effect.
 This avoids a compiler crash in some cases.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 The @samp{-malign-double} option now reliably aligns
 @code{DOUBLE PRECISION} optimally on Pentium and
 Pentium Pro architectures (586 and 686 in @code{gcc}).
+@end ifclear
 
 @item
 New option @samp{-Wno-globals} disables warnings
@@ -1027,41 +1284,53 @@ 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 @code{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 @code{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 @code{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 @code{gcc} fixes that seem useful in
 @code{g77}'s version of @code{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
@@ -1079,11 +1348,13 @@ that have embedded blanks, commas, and so on.
 Fix @code{SIGNAL} intrinsic so it accepts an
 optional third @samp{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
@@ -1097,42 +1368,57 @@ 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 @samp{-fbadu77-intrinsics-delete},
 @samp{-fbadu77-intrinsics-hide}, and so on.
 
+@ifclear USERVISONLY
 @item
 Fix crashes involving diagnosed or invalid code.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 @code{g77} and @code{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 @code{gcc}
 front end.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Support @code{gcc} version 2.7.2.3
 (modified by @code{g77} into version 2.7.2.3.f.1),
 and remove
 support for prior versions of @code{gcc}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Incorporate GNAT's patches to the @code{gcc} back
 end into @code{g77}'s, so GNAT users do not need
 to apply GNAT's patches to build both GNAT and @code{g77}
 from the same source tree.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Modify @code{make} rules and related code so that
 generation of Info documentation doesn't require
@@ -1140,6 +1426,7 @@ compilation using @code{gcc}.
 Now, any ANSI C compiler should be adequate to
 produce the @code{g77} documentation (in particular,
 the tables of intrinsics) from scratch.
+@end ifclear
 
 @item
 Add @code{INT2} and @code{INT8} intrinsics.
@@ -1154,46 +1441,64 @@ Add @code{ALARM} intrinsic.
 @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 @code{gcc} @file{specs} file.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix typo in @code{make} rule @samp{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 @code{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 @samp{-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 @samp{-ff2c} in effect.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} driver to recognize @samp{-fsyntax-only}
 as an option that inhibits linking, just like @samp{-c} or
 @samp{-S}, and to recognize and properly handle the
 @samp{-nostdlib}, @samp{-M}, @samp{-MM}, @samp{-nodefaultlibs},
 and @samp{-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
 @code{g77} driver now prints version information (such as produced
@@ -1204,26 +1509,36 @@ The @samp{.r} suffix now designates a Ratfor source file,
 to be preprocessed via the @code{ratfor} command, available
 separately.
 
+@ifclear USERVISONLY
 @item
 Fix some aspects of how @code{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 @code{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.
@@ -1234,13 +1549,18 @@ The @samp{-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} constants.
+are to be interpreted as @code{INTEGER(KIND=1)} constants.
 Specify @samp{-ftypeless-boz} to cause such
 constants to be interpreted as typeless.
 
 (Version 0.5.19 introduced @samp{-fno-typeless-boz} and
 its inverse.)
 
+@ifset DOC-G77
+@xref{Fortran Dialect Options,,Options Controlling Fortran Dialect},
+for information on the @samp{-ftypeless-boz} option.
+@end ifset
+
 @item
 Options @samp{-ff90-intrinsics-enable} and
 @samp{-fvxt-intrinsics-enable} now are the
@@ -1265,6 +1585,10 @@ of @code{libf2c} when built with @samp{ALWAYS_FLUSH} defined,
 you will have to modify @code{libf2c} accordingly before
 building it from this and future versions of @code{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
@@ -1276,6 +1600,11 @@ as intrinsics.
 New option @samp{-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 @samp{-fvxt} option is specified.
+@end ifset
+
 @item
 The @samp{-fvxt-not-f90} option has been deleted,
 along with its inverse, @samp{-ff90-not-vxt}.
@@ -1285,6 +1614,10 @@ re-read the pertinent documentation to determine which
 options, if any, are appropriate for compiling your
 code with this version of @code{g77}.
 
+@ifset DOC-G77
+@xref{Other Dialects}, for more information.
+@end ifset
+
 @item
 The @samp{-fugly} option now issues a warning, as it
 likely will be removed in a future version.
@@ -1300,23 +1633,35 @@ The @samp{-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 @code{g77} front end and
 the @code{gcc} back end to better support Alpha (AXP)
 machines.
 This includes providing at least one bug-fix to the
 @code{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 integer type that is the same width (holds
-the same number of bits) as the pointer type on the
-machine.
+values of @code{INTEGER(KIND=0)} type,
+as defined by the GNU Fortran language.
 
-On most machines, this won't make a difference, whereas
-on Alphas, the type these constructs return is
-@code{INTEGER*8} instead of the more common @code{INTEGER*4}.
+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 @code{g77} front
@@ -1325,19 +1670,24 @@ end, to avoid bugs in @code{complex} support in the
 New option @samp{-fno-emulate-complex}
 causes @code{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 @samp{-fugly-assumed} was in effect
 and @var{A} was a local (automatic) array.
 That case is no longer affected by the new
 handling of @samp{-fugly-assumed}.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Fix @code{g77} command driver so that @samp{g77 -o foo.f}
 no longer deletes @file{foo.f} before issuing other
 diagnostics, and so the @samp{-x} option is properly
 handled.
+@end ifclear
 
+@ifclear USERVISONLY
 @item
 Enable inlining of subroutines and functions by the @code{gcc}
 back end.
@@ -1345,6 +1695,7 @@ This works as it does for @code{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
@@ -1362,10 +1713,19 @@ New options @samp{-falias-check}, @samp{-fargument-alias},
 and @samp{-fno-argument-noalias-global} control the
 way @code{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 @code{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 @code{g77} compiler has been changed back to
@@ -1390,6 +1750,7 @@ 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 @samp{-fugly-assign} specifies that the
@@ -1399,17 +1760,26 @@ values assigned by both statements @samp{I = 3} and
 (Normally, @code{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
@@ -1418,27 +1788,36 @@ an already-built @code{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 @code{gcc} version 2.7.2.2
 (modified by @code{g77} into version 2.7.2.2.f.2),
 and remove
 support for prior versions of @code{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 @code{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*8} available in
+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 @code{f2c} users
 may make full use of its features via the @code{g77}
-version of @file{f2c.h} and the @code{INTEGER*8}
+version of @file{f2c.h} and the @code{INTEGER(KIND=2)}
 support routines in the @code{g77} version of @code{libf2c}.
 
 @item
@@ -1471,12 +1850,17 @@ complex type other than @code{COMPLEX}), unless
 or new @samp{-fugly-complex} option, in conjunction with
 @samp{-fnot-f90}, specifies @code{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
@@ -1486,8 +1870,18 @@ up automatically via a message in the diagnostic itself.
 (Hence the menu item @samp{M} for the node
 @samp{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 @samp{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
@@ -2088,8 +2482,7 @@ macros defined in @file{gcc/f/target.h} and used in places like
 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 @code{g77} is known to not work well for such cases (to be
-fixed in Version 0.6---@pxref{Actual Bugs,,Actual Bugs We Haven't Fixed Yet}).
+since @code{g77} is known to not work well for such cases.
 
 @item
 Lots of new documentation (though work is still needed to put it into
@@ -2378,3 +2771,6 @@ Generate better code for some kinds of array references.
 Speed up lexing somewhat (this makes the compilation phase noticeably
 faster).
 @end itemize
+
+@end ifset
+@end ifclear
index c485adf..21176c3 100644 (file)
@@ -1,21 +1,9 @@
 \input texinfo  @c -*-texinfo-*-
-@c %**start of header 
-@setfilename NEW
-@set NEWSONLY
+@c %**start of header
+@setfilename NEWS
 @c %**end of header
 
-@c The immediately following lines apply to the NEWS file
-@c which is generated using this file.
-NOTE: This file is automatically generated from the files
-`news0.texi' and `news.texi'.  `NEWS' is *not* a source file,
-although it is normally included within source distributions.
-
-This file lists recent changes to the GNU Fortran compiler.
-Copyright (C) 1995-1999 Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-@node Top,,, (dir)
-@chapter News About GNU Fortran
+@c This tells news.texi that it's generating just the NEWS file.
+@set DOC-NEWS
 @include news.texi
 @bye
diff --git a/gcc/f/root.texi b/gcc/f/root.texi
new file mode 100644 (file)
index 0000000..25032bf
--- /dev/null
@@ -0,0 +1,33 @@
+@c DEVELOPMENT is set to indicate an in-development version,
+@c as compared to a release version.  When making a release
+@c (e.g. a release branch in the CVS repository for egcs),
+@c clear this and set the version information correctly.
+@set DEVELOPMENT
+@set version-g77 0.5.24
+@set version-egcs 1.2
+
+@c EGCS-G77 is set to indicate this is the EGCS version of g77.
+@set EGCS-G77
+
+@ifclear EGCS-G77
+@c FSF-G77 is set to indicate this is the FSF version of g77.
+@set FSF-G77
+@end ifclear
+
+@ifset EGCS-G77
+@set email-general egcs@@egcs.cygnus.com
+@set email-bugs egcs-bugs@@egcs.cygnus.com
+@set path-g77 egcs/gcc/f
+@set path-libf2c egcs/libf2c
+@set which-g77 EGCS-@value{version-egcs}
+@end ifset
+
+@ifset FSF-G77
+@set email-general fortran@@gnu.org
+@set email-bugs fortran@@gnu.org
+@set path-g77 gcc/f
+@set path-libf2c gcc/f/runtime
+@set which-g77 FSF-@value{version-g77}
+@end ifset
+
+@set email-burley craig@@jcb-sc.com