bugs.texi, [...]: Doc updates from Craig.
8 * bugs.texi, g77.1, g77.texi, intdoc.in, news.texi: Doc updates from Craig. From-SVN: r22154
This commit is contained in:
parent
6f2347ce01
commit
0e5b2a4dee
1 changed files with 350 additions and 12 deletions
362
gcc/f/news.texi
362
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-05-20
|
||||
@c 1998-09-01
|
||||
|
||||
@ifclear NEWSONLY
|
||||
@node News
|
||||
|
@ -46,7 +46,205 @@ Miscellany
|
|||
This order is not strict---for example, some items
|
||||
involve a combination of these elements.
|
||||
|
||||
@heading In @code{egcs} 1.1:
|
||||
Note that two variants of @code{g77} are tracked below.
|
||||
The @code{egcs} variant is described vis-a-vis
|
||||
previous versions of @code{egcs} and/or
|
||||
an official FSF version,
|
||||
as appropriate.
|
||||
|
||||
Therefore, @code{egcs} versions sometimes have multiple listings
|
||||
to help clarify how they differ from other versions,
|
||||
though this can make getting a complete picture
|
||||
of what a particular @code{egcs} version contains
|
||||
somewhat more difficult.
|
||||
|
||||
@heading In @code{egcs} 1.1 (versus 0.5.24):
|
||||
@itemize @bullet
|
||||
@item
|
||||
Fix @code{g77} crash compiling code
|
||||
containing the construct @samp{CMPLX(0.)} or similar.
|
||||
|
||||
@item
|
||||
Fix @code{g77} crash
|
||||
(or apparently infinite run-time)
|
||||
when compiling certain complicated expressions
|
||||
involving @code{COMPLEX} arithmetic
|
||||
(especially multiplication).
|
||||
|
||||
@cindex DNRM2
|
||||
@cindex stack, 387 coprocessor
|
||||
@cindex Intel x86
|
||||
@cindex -O2
|
||||
@item
|
||||
Fix a code-generation bug that afflicted
|
||||
Intel x86 targets when @samp{-O2} was specified
|
||||
compiling, for example, an old version of
|
||||
the @samp{DNRM2} routine.
|
||||
|
||||
The x87 coprocessor stack was being
|
||||
mismanaged in cases involving assigned @code{GOTO}
|
||||
and @code{ASSIGN}.
|
||||
|
||||
@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
|
||||
Fix bugs in the @code{libU77} intrinsic @samp{HostNm}
|
||||
that wrote one byte beyond the end of its @samp{CHARACTER}
|
||||
argument,
|
||||
and in the @code{libU77} intrinsics
|
||||
@samp{GMTime} and @samp{LTime}
|
||||
that overwrote their arguments.
|
||||
|
||||
@item
|
||||
Assumed arrays with negative bounds
|
||||
(such as @samp{REAL A(-1:*)})
|
||||
no longer elicit spurious diagnostics from @code{g77},
|
||||
even on systems with pointers having
|
||||
different sizes than integers.
|
||||
|
||||
@item
|
||||
Valid combinations of @code{EXTERNAL},
|
||||
passing that external as a dummy argument
|
||||
without explicitly giving it a type,
|
||||
and, in a subsequent program unit,
|
||||
referencing that external as
|
||||
an external function with a different type
|
||||
no longer crash @code{g77}.
|
||||
|
||||
@item
|
||||
@code{CASE DEFAULT} no longer crashes @code{g77}.
|
||||
|
||||
@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
|
||||
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
|
||||
@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
|
||||
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.
|
||||
|
||||
@item
|
||||
@code{install-info} now used to update the directory of
|
||||
Info documentation to contain an entry for @code{g77}
|
||||
(during installation).
|
||||
|
||||
@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.
|
||||
|
||||
@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}.
|
||||
|
||||
@item
|
||||
Improve documentation and indexing.
|
||||
|
||||
@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 itemize
|
||||
|
||||
@heading In 0.5.24 and @code{egcs} 1.1 (versus 0.5.23):
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{g77} no longer produces incorrect code
|
||||
|
@ -97,11 +295,11 @@ not to the longstanding deficiencies vis-a-vis
|
|||
@samp{COMMON} and @samp{EQUIVALENCE}.
|
||||
|
||||
@item
|
||||
The F90 @samp{DATE_AND_TIME} intrinsic now is
|
||||
The F90 @samp{Date_and_Time} intrinsic now is
|
||||
supported.
|
||||
|
||||
@item
|
||||
The F90 @samp{SYSTEM_CLOCK} intrinsic allows
|
||||
The F90 @samp{System_Clock} intrinsic allows
|
||||
the optional arguments (except for the @samp{Count}
|
||||
argument) to be omitted.
|
||||
|
||||
|
@ -112,7 +310,8 @@ Upgrade to @code{libf2c} as of 1998-06-18.
|
|||
Improve documentation and indexing.
|
||||
@end itemize
|
||||
|
||||
@heading In 0.5.23:
|
||||
@c 1998-05-20: 0.5.23 released.
|
||||
@heading In 0.5.23 (versus 0.5.22):
|
||||
@itemize @bullet
|
||||
@item
|
||||
This release contains several regressions against
|
||||
|
@ -138,7 +337,7 @@ 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{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,
|
||||
|
@ -150,7 +349,7 @@ Support for the GNU compiler options
|
|||
@samp{-freduce-all-givs},
|
||||
and @samp{-frerun-loop-opt}.
|
||||
|
||||
(Version 1.0.1 of @code{egcs} supports these options.
|
||||
(@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.)
|
||||
|
@ -294,7 +493,8 @@ specifier, and perhaps some build (porting) problems
|
|||
as well.
|
||||
@end itemize
|
||||
|
||||
@heading In 0.5.22:
|
||||
@c 1998-03-16: 0.5.22 released.
|
||||
@heading In 0.5.22 (versus 0.5.21):
|
||||
@itemize @bullet
|
||||
@item
|
||||
Fix code generation for iterative @code{DO} loops that
|
||||
|
@ -304,7 +504,7 @@ For example, @samp{DO 10 J=2,J} now is compiled correctly.
|
|||
|
||||
@cindex DNRM2
|
||||
@cindex stack, 387 coprocessor
|
||||
@cindex ix86
|
||||
@cindex Intel x86
|
||||
@cindex -O2
|
||||
@item
|
||||
Fix a code-generation bug that afflicted
|
||||
|
@ -321,7 +521,7 @@ Fix @code{DTime} intrinsic so as not to truncate
|
|||
results to integer values (on some systems).
|
||||
|
||||
@item
|
||||
Fix @code{SIGNAL} intrinsic so it offers portable
|
||||
Fix @code{Signal} intrinsic so it offers portable
|
||||
support for 64-bit systems (such as Digital Alphas
|
||||
running GNU/Linux).
|
||||
|
||||
|
@ -382,7 +582,7 @@ Allow any numeric argument to intrinsics
|
|||
|
||||
@item
|
||||
Use @code{tempnam}, if available, to open scratch files
|
||||
(as in @samp{OPEN(STATUS='SCRATCH')}
|
||||
(as in @samp{OPEN(STATUS='SCRATCH')})
|
||||
so that the @code{TMPDIR} environment variable,
|
||||
if present, is used.
|
||||
|
||||
|
@ -421,7 +621,7 @@ anyway for a statement like @samp{PRINT '(I)garbage', 1}
|
|||
by printing @samp{(I)garbage} as the format string.)
|
||||
|
||||
@item
|
||||
Improve compilation of FORMAT expressions so that
|
||||
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
|
||||
|
@ -446,6 +646,137 @@ This fixes a formatted-I/O bug that afflicted
|
|||
(such as Digital Alpha running GNU/Linux).
|
||||
@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
|
||||
@item
|
||||
Fix @code{g77} crash triggered by @code{CASE} statement with
|
||||
an omitted lower or upper bound.
|
||||
|
||||
@item
|
||||
Fix @code{g77} crash on statements such as
|
||||
@samp{PRINT *, (REAL(Z(I)),I=1,2)}, where
|
||||
@samp{Z} is @code{DOUBLE COMPLEX}.
|
||||
|
||||
@cindex ELF support
|
||||
@cindex support, ELF
|
||||
@cindex -fPIC option
|
||||
@cindex options, -fPIC
|
||||
@item
|
||||
Fix @samp{-fPIC} (such as compiling for ELF targets)
|
||||
on the Intel x86 architecture target
|
||||
so invalid assembler code is no longer produced.
|
||||
|
||||
@item
|
||||
Fix @samp{-fpedantic} to not reject procedure invocations
|
||||
such as @samp{I=J()} and @samp{CALL FOO()}.
|
||||
|
||||
@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
|
||||
|
||||
@c 1998-01-02: egcs-1.0.1 released.
|
||||
@heading In @code{egcs} 1.0.1 (versus @code{egcs} 1.0):
|
||||
@itemize @bullet
|
||||
@item
|
||||
Fix run-time crash involving @code{NAMELIST} on 64-bit
|
||||
machines such as Alphas.
|
||||
@end itemize
|
||||
|
||||
@c 1997-12-03: egcs-1.0 released.
|
||||
@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
|
||||
|
||||
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.
|
||||
|
||||
@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.
|
||||
|
||||
@item
|
||||
Fix @code{DTime} intrinsic so as not to truncate
|
||||
results to integer values (on some systems).
|
||||
|
||||
@item
|
||||
Remove support for non-@code{egcs} 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
|
||||
Allow any numeric argument to intrinsics
|
||||
@code{Int2} and @code{Int8}.
|
||||
|
||||
@item
|
||||
Improve diagnostic messages from @code{libf2c}
|
||||
so it is more likely that the printing of the
|
||||
active format string is limited to the string,
|
||||
with no trailing garbage being printed.
|
||||
|
||||
(Unlike @code{f2c}, @code{g77} did not append
|
||||
a null byte to its compiled form of every
|
||||
format string specified via a @code{FORMAT} statement.
|
||||
However, @code{f2c} would exhibit the problem
|
||||
anyway for a statement like @samp{PRINT '(I)garbage', 1}
|
||||
by printing @samp{(I)garbage} as the format string.)
|
||||
|
||||
@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 itemize
|
||||
|
||||
@c 1997-09-09: 0.5.21 released.
|
||||
@heading In 0.5.21:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -765,6 +1096,7 @@ that aren't quite accurate in @code{g77}'s version of
|
|||
Reserve @code{INTEGER(KIND=0)} for future use.
|
||||
@end itemize
|
||||
|
||||
@c 1997-02-28: 0.5.20 released.
|
||||
@heading In 0.5.20:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1026,6 +1358,7 @@ up automatically via a message in the diagnostic itself.
|
|||
the Info documentation.)
|
||||
@end itemize
|
||||
|
||||
@c 1997-02-01: 0.5.19.1 released.
|
||||
@heading In 0.5.19.1:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1050,6 +1383,7 @@ For example, @samp{C = CSQRT(C)}, @samp{Z = Z/C}, and @samp{Z = Z**I}
|
|||
@code{DOUBLE COMPLEX}) have been fixed.
|
||||
@end itemize
|
||||
|
||||
@c 1996-12-07: 0.5.19 released.
|
||||
@heading In 0.5.19:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1169,6 +1503,7 @@ of the areas.
|
|||
Improvements to documentation and indexing.
|
||||
@end itemize
|
||||
|
||||
@c 1996-04-01: 0.5.18 released.
|
||||
@heading In 0.5.18:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1356,6 +1691,7 @@ named @code{netlib.bell-labs.com}, and the
|
|||
maintainer's new address is @email{dmg@@bell-labs.com}.
|
||||
@end itemize
|
||||
|
||||
@c 1995-11-18: 0.5.17 released.
|
||||
@heading In 0.5.17:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1462,6 +1798,7 @@ Support @code{gcc} version 2.7.1.
|
|||
Upgrade to @code{libf2c} as of 1995-11-15.
|
||||
@end itemize
|
||||
|
||||
@c 1995-08-30: 0.5.16 released.
|
||||
@heading In 0.5.16:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1634,6 +1971,7 @@ Build @code{libf2c} with @samp{-g0}, not @samp{-g2}, in effect
|
|||
smaller library without lots of debugging clutter.
|
||||
@end itemize
|
||||
|
||||
@c 1995-05-19: 0.5.15 released.
|
||||
@heading In 0.5.15:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
|
Loading…
Add table
Reference in a new issue