JCB updates.

From-SVN: r19874
This commit is contained in:
Dave Love 1998-05-19 10:29:42 +00:00
parent 4a26588bfa
commit 0063c7779b
3 changed files with 250 additions and 55 deletions

View File

@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual.
@c 1998-03-17
@c 1998-05-17
@ifclear BUGSONLY
@node Actual Bugs
@ -34,12 +34,6 @@ statements as the terminal statement, using the @code{END DO}
form instead, and so on.
(Probably improved, but not wholly fixed, in 0.5.21.)
@item
The @code{g77} command itself should more faithfully process
options the way the @code{gcc} command does.
For example, @code{gcc} accepts abbreviated forms of long options,
@code{g77} generally doesn't.
@item
Some confusion in diagnostics concerning failing @code{INCLUDE}
statements from within @code{INCLUDE}'d or @code{#include}'d files.
@ -171,30 +165,6 @@ is the potential, with the current setup, for interface differences
in the way such areas are laid out between @code{g77} and other
compilers.
@cindex Alpha, support
@cindex support, Alpha
@item
@code{g77} doesn't work perfectly on 64-bit configurations such as the Alpha.
This problem is expected to be largely resolved as of version 0.5.20,
and further addressed by 0.5.21.
Version 0.6 should solve most or all related problems (such as
64-bit machines other than Digital Semiconductor (``DEC'') Alphas).
One known bug that causes a compile-time crash occurs when compiling
code such as the following with optimization:
@example
SUBROUTINE CRASH (TEMP)
INTEGER*2 HALF(2)
REAL TEMP
HALF(1) = NINT (TEMP)
END
@end example
It is expected that a future version of @code{g77} will have a fix for this
problem, almost certainly by the time @code{g77} supports
version 2.8 of @code{gcc}.
@cindex COMPLEX support
@cindex support, COMPLEX
@item

View File

@ -11,6 +11,9 @@
}
@end tex
@set last-up-date 1998-04-20
@set version-g77 0.5.23
@c %**start of header
@setfilename g77.info
@c @setfilename useg77.info
@ -102,16 +105,16 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}).
@sp 2
@center James Craig Burley
@sp 3
@center Last updated 1998-04-18
@center Last updated @value{last-up-date}
@sp 1
@c The version number appears some more times in this file.
@center for version 0.5.21
@center for version @value{version-g77}
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1995-1997 Free Software Foundation, Inc.
@sp 2
For GNU Fortran Version 0.5.21*
For GNU Fortran Version @value{version-g77}*
@sp 1
Published by the Free Software Foundation @*
59 Temple Place - Suite 330@*
@ -156,19 +159,19 @@ original English.
@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 0.5.21.
report bugs. It corresponds to GNU Fortran version @value{version-g77}.
@end ifset
@end ifset
@ifclear INTERNALS
This manual documents how to run and install the GNU Fortran compiler,
as well as its new features and incompatibilities, and how to report
bugs. It corresponds to GNU Fortran version 0.5.21.
bugs. It corresponds to GNU Fortran version @value{version-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 0.5.21.
bugs. It corresponds to GNU Fortran version @value{version-g77}.
@end ifclear
@end ifinfo
@ -3289,6 +3292,121 @@ 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 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.
(Version 1.0.1 of @code{egcs} has the alias-analysis
code, but not the @code{__restrict__} keyword.
@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}.
(Version 1.0.1 of @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.
@end itemize
@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 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.
@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 0.5.21:
@itemize @bullet
@item
@ -9205,6 +9323,9 @@ savings of resources, such as on systems where @file{/dev/null} or
@file{/dev/zero} represent bottlenecks in the systems' performance,
because @code{g77} simply asks for fewer zeros from the operating
system than @code{f2c}.
(Avoiding spurious use of zero bytes, each byte typically have
eight zero bits, also reduces the liabilities in case
Microsoft's rumored patent on the digits 0 and 1 is upheld.)
@node Block Data and Libraries
@section Block Data and Libraries
@ -12138,22 +12259,6 @@ more detail on these and related command-line options.
Please consider offering useful answers to these questions!
@itemize @bullet
@item
How do system administrators and users manage multiple incompatible
Fortran compilers on their systems?
How can @code{g77} contribute to this, or at least avoiding
intefering with it?
Currently, @code{g77} provides rudimentary ways to choose whether to
overwrite portions of other Fortran compilation systems
(such as the @code{f77} command and the @code{libf2c} library).
Is this sufficient?
What happens when users choose not to overwrite these---does
@code{g77} work properly in all such installations, picking
up its own versions, or does it pick up the existing ``alien''
versions it didn't overwrite with its own, possibly leading
to subtle bugs?
@item
@code{LOC()} and other intrinsics are probably somewhat misclassified.
Is the a need for more precise classification of intrinsics, and if so,

View File

@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual.
@c 1998-03-16
@c 1998-04-20
@ifclear NEWSONLY
@node News
@ -21,10 +21,11 @@ The changes are generally listed in order:
@enumerate
@item
Code-generation and run-time-library bugs
Code-generation and run-time-library bug-fixes
@item
Compiler and run-time-library crashes involving valid code
that have been fixed
@item
New features
@ -53,6 +54,125 @@ Miscellany
This order is not strict---for example, some items
involve a combination of these elements.
@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.
(Version 1.0.1 of @code{egcs} has the alias-analysis
code, but not the @code{__restrict__} keyword.
@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}.
(Version 1.0.1 of @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.
@end itemize
@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 options, -@w{}-driver
@item
Remove support for the @samp{--driver} option,
as @code{g77} now does all the driving,
just like @code{gcc}.
@item
@code{CASE DEFAULT} no longer crashes @code{g77}.
@item
@code{g77} no longer installs the @file{f77} command
and @file{f77.1} man page
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.
@item
@code{g77} no longer installs the @file{libf2c.a} library
and @file{f2c.h} include file
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.
@item
The @file{libf2c.a} library produced by @code{g77} has been
renamed to @file{libg2c.a}.
It is installed only in the @code{gcc} ``private''
directory heirarchy, @file{gcc-lib}.
This allows system administrators and users to choose which
version of the @code{libf2c} library from @code{netlib} they
wish to use on a case-by-case basis.
See the installation documentation for more information.
@item
The @file{f2c.h} include (header) file produced by @code{g77}
has been renamed to @file{g2c.h}.
It is installed only in the @code{gcc} ``private''
directory heirarchy, @file{gcc-lib}.
This allows system administrators and users to choose which
version of the include file from @code{netlib} they
wish to use on a case-by-case basis.
See the installation documentation for more information.
@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
The @samp{-Wunused} option no longer issues a spurious
warning about the ``master'' procedure generated by
@code{g77} for procedures containing @code{ENTRY} statements.
@item
During the configuration and build process,
@code{g77} creates subdirectories it needs only as it
needs them, thus avoiding unnecessary creation of, for example,
@file{stage1/f/runtime} when doing a non-bootstrap build.
Other cleaning up of the configuration and build process
has been performed as well.
@end itemize
@heading In 0.5.22:
@itemize @bullet
@item