diff options
author | Craig Burley <burley@gnu.org> | 1998-09-01 03:13:23 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-09-01 03:13:23 -0600 |
commit | 0e5b2a4dee2850e912836a4e644432929ca777cb (patch) | |
tree | 8a1fc75d537df97797eb161e8837df4fe284746f /gcc/f | |
parent | 6f2347ce0140b76efd5defaf9310201cf7621263 (diff) | |
download | gcc-0e5b2a4dee2850e912836a4e644432929ca777cb.zip gcc-0e5b2a4dee2850e912836a4e644432929ca777cb.tar.gz gcc-0e5b2a4dee2850e912836a4e644432929ca777cb.tar.bz2 |
bugs.texi, [...]: Doc updates from Craig.
8
* bugs.texi, g77.1, g77.texi, intdoc.in, news.texi: Doc updates
from Craig.
From-SVN: r22154
Diffstat (limited to 'gcc/f')
-rw-r--r-- | gcc/f/news.texi | 362 |
1 files changed, 350 insertions, 12 deletions
diff --git a/gcc/f/news.texi b/gcc/f/news.texi index 6150584..8617097 100644 --- a/gcc/f/news.texi +++ b/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 |