mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 17:40:25 +08:00
JCB updates.
From-SVN: r19874
This commit is contained in:
parent
4a26588bfa
commit
0063c7779b
@ -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
|
||||
|
149
gcc/f/g77.texi
149
gcc/f/g77.texi
@ -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,
|
||||
|
124
gcc/f/news.texi
124
gcc/f/news.texi
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user