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:
Craig Burley 1998-09-01 03:13:23 -06:00 committed by Jeff Law
parent 6f2347ce01
commit 0e5b2a4dee

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-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