From a54523058a95249ce24e273432ebdadc0a366007 Mon Sep 17 00:00:00 2001 From: fx Date: Thu, 19 Nov 1998 09:01:52 +0000 Subject: [PATCH] Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23710 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/f/INSTALL | 2 +- gcc/f/NEWS | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 261 insertions(+), 22 deletions(-) diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL index ab0d5b4..1ff51d7 100644 --- a/gcc/f/INSTALL +++ b/gcc/f/INSTALL @@ -219,7 +219,7 @@ Enough disk space `makeinfo' is part of the GNU `texinfo' package; `makeinfo' version 1.68 is distributed as part of GNU `texinfo' version - 3.11. + 3.12. `makeinfo' is not needed in the typical case of installing `gcc' and `g77'. *Note Missing tools?::, for information on when it diff --git a/gcc/f/NEWS b/gcc/f/NEWS index 2cc6cbf..1bbefc2 100644 --- a/gcc/f/NEWS +++ b/gcc/f/NEWS @@ -1,5 +1,5 @@ This file lists recent changes to the GNU Fortran compiler. Copyright -(C) 1995, 1996 Free Software Foundation, Inc. You may copy, +(C) 1995, 96, 97, 1998 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you preserve this copyright notice and permission notice. @@ -29,8 +29,162 @@ with the most recent version first. This order is not strict--for example, some items involve a combination of these elements. -In `egcs' 1.1: -============== + Note that two variants of `g77' are tracked below. The `egcs' +variant is described vis-a-vis previous versions of `egcs' and/or an +official FSF version, as appropriate. + + Therefore, `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 `egcs' version contains +somewhat more difficult. + +In 0.5.24 and `egcs' 1.1.1 (versus 0.5.23 and 1.1): +=================================================== + + * Fix `libg2c' so it performs an implicit `ENDFILE' operation (as + appropriate) whenever a `REWIND' is done. + + (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s + version of `libf2c'.) + + * Fix `libg2c' so it no longer crashes with a spurious diagnostic + upon doing any I/O following a direct formatted write. + + (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s + version of `libf2c'.) + + * Fix `g77' so it no longer crashes compiling references to the + `Rand' intrinsic on some systems. + + * Fix `g77' portion of installation process so it works better on + some systems (those with shells requiring `else true' clauses on + `if' constructs for the completion code to be set properly). + +In `egcs' 1.1 (versus 0.5.24): +============================== + + * Fix `g77' crash compiling code containing the construct + `CMPLX(0.)' or similar. + + * Fix `g77' crash (or apparently infinite run-time) when compiling + certain complicated expressions involving `COMPLEX' arithmetic + (especially multiplication). + + * Fix a code-generation bug that afflicted Intel x86 targets when + `-O2' was specified compiling, for example, an old version of the + `DNRM2' routine. + + The x87 coprocessor stack was being mismanaged in cases involving + assigned `GOTO' and `ASSIGN'. + + * Align static double-precision variables and arrays on Intel x86 + targets regardless of whether `-malign-double' is specified. + + Generally, this affects only local variables and arrays having the + `SAVE' attribute or given initial values via `DATA'. + +In `egcs' 1.1 (versus `egcs' 1.0.3): +==================================== + + * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte + beyond the end of its `CHARACTER' argument, and in the `libU77' + intrinsics `GMTime' and `LTime' that overwrote their arguments. + + * Assumed arrays with negative bounds (such as `REAL A(-1:*)') no + longer elicit spurious diagnostics from `g77', even on systems + with pointers having different sizes than integers. + + This bug is not known to have existed in any recent version of + `gcc'. It was introduced in an early release of `egcs'. + + * Valid combinations of `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 `g77'. + + * `CASE DEFAULT' no longer crashes `g77'. + + * The `-Wunused' option no longer issues a spurious warning about + the "master" procedure generated by `g77' for procedures + containing `ENTRY' statements. + + * Support `FORMAT(I)' when EXPR is a compile-time constant + `INTEGER' expression. + + * Fix `g77' `-g' option so procedures that use `ENTRY' can be + stepped through, line by line, in `gdb'. + + * Allow any `REAL' argument to intrinsics `Second' and `CPU_Time'. + + * Use `tempnam', if available, to open scratch files (as in + `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment + variable, if present, is used. + + * `g77''s version of `libf2c' separates out the setting of global + state (such as command-line arguments and signal handling) from + `main.o' into distinct, new library archive members. + + This should make it easier to write portable applications that + have their own (non-Fortran) `main()' routine properly set up the + `libf2c' environment, even when `libf2c' (now `libg2c') is a + shared library. + + * `g77' no longer installs the `f77' command and `f77.1' man page in + the `/usr' or `/usr/local' heirarchy, even if the `f77-install-ok' + file exists in the source or build directory. See the + installation documentation for more information. + + * `g77' no longer installs the `libf2c.a' library and `f2c.h' + include file in the `/usr' or `/usr/local' heirarchy, even if the + `f2c-install-ok' or `f2c-exists-ok' files exist in the source or + build directory. See the installation documentation for more + information. + + * The `libf2c.a' library produced by `g77' has been renamed to + `libg2c.a'. It is installed only in the `gcc' "private" directory + heirarchy, `gcc-lib'. This allows system administrators and users + to choose which version of the `libf2c' library from `netlib' they + wish to use on a case-by-case basis. See the installation + documentation for more information. + + * The `f2c.h' include (header) file produced by `g77' has been + renamed to `g2c.h'. It is installed only in the `gcc' "private" + directory heirarchy, `gcc-lib'. This allows system administrators + and users to choose which version of the include file from + `netlib' they wish to use on a case-by-case basis. See the + installation documentation for more information. + + * The `g77' command now expects the run-time library to be named + `libg2c.a' instead of `libf2c.a', to ensure that a version other + than the one built and installed as part of the same `g77' version + is picked up. + + * During the configuration and build process, `g77' creates + subdirectories it needs only as it needs them. Other cleaning up + of the configuration and build process has been performed as well. + + * `install-info' now used to update the directory of Info + documentation to contain an entry for `g77' (during installation). + + * 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 `OPEN', `INQUIRE', `READ', and `WRITE' statements, and + about truncations of various sorts of constants. + + * Improve compilation of `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 `libf2c' for statements + like `PRINT '(I1', 42'. + + * Improve documentation and indexing. + + * The upgrade to `libf2c' as of 1998-06-18 should fix a variety of + problems, including those involving some uses of the `T' format + specifier, and perhaps some build (porting) problems as well. + +In 0.5.24 and `egcs' 1.1 (versus 0.5.23): +========================================= * `g77' no longer produces incorrect code and initial values for `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural" @@ -62,17 +216,17 @@ In `egcs' 1.1: and other information, not to the longstanding deficiencies vis-a-vis `COMMON' and `EQUIVALENCE'. - * The F90 `DATE_AND_TIME' intrinsic now is supported. + * The F90 `Date_and_Time' intrinsic now is supported. - * The F90 `SYSTEM_CLOCK' intrinsic allows the optional arguments + * The F90 `System_Clock' intrinsic allows the optional arguments (except for the `Count' argument) to be omitted. * Upgrade to `libf2c' as of 1998-06-18. * Improve documentation and indexing. -In 0.5.23: -========== +In 0.5.23 (versus 0.5.22): +========================== * This release contains several regressions against version 0.5.22 of `g77', due to using the "vanilla" `gcc' back end instead of @@ -92,18 +246,17 @@ In 0.5.23: `-fargument-noalias-global', and the corresponding alias-analysis code. - (Version 1.0.1 of `egcs' has the alias-analysis code, but not - the `__restrict__' keyword. `egcs' `g77' users benefit from - the alias-analysis code despite the lack of the - `__restrict__' keyword, which is a C-language construct.) + (`egcs' has the alias-analysis code, but not the + `__restrict__' keyword. `egcs' `g77' users benefit from the + alias-analysis code despite the lack of the `__restrict__' + keyword, which is a C-language construct.) - Support for the GNU compiler options `-fmove-all-movables', `-freduce-all-givs', and `-frerun-loop-opt'. - (Version 1.0.1 of `egcs' supports these options. `g77' users - of `egcs' benefit from them even if they are not explicitly - specified, because the defaults are optimized for `g77' - users.) + (`egcs' supports these options. `g77' users of `egcs' + benefit from them even if they are not explicitly specified, + because the defaults are optimized for `g77' users.) - Support for the `-W' option warning about integer division by zero. @@ -198,8 +351,8 @@ In 0.5.23: some uses of the `T' format specifier, and perhaps some build (porting) problems as well. -In 0.5.22: -========== +In 0.5.22 (versus 0.5.21): +========================== * Fix code generation for iterative `DO' loops that have one or more references to the iteration variable, or to aliases of it, in @@ -216,7 +369,7 @@ In 0.5.22: * Fix `DTime' intrinsic so as not to truncate results to integer values (on some systems). - * Fix `SIGNAL' intrinsic so it offers portable support for 64-bit + * Fix `Signal' intrinsic so it offers portable support for 64-bit systems (such as Digital Alphas running GNU/Linux). * Fix run-time crash involving `NAMELIST' on 64-bit machines such as @@ -255,8 +408,8 @@ In 0.5.22: * Allow any numeric argument to intrinsics `Int2' and `Int8'. * Use `tempnam', if available, to open scratch files (as in - `OPEN(STATUS='SCRATCH')' so that the `TMPDIR' environment variable, - if present, is used. + `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment + variable, if present, is used. * Rename the `gcc' keyword `restrict' to `__restrict__', to avoid rejecting valid, existing, C programs. Support for `restrict' is @@ -282,7 +435,7 @@ In 0.5.22: like `PRINT '(I)garbage', 1' by printing `(I)garbage' as the format string.) - * Improve compilation of FORMAT expressions so that a null byte is + * Improve compilation of `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 `libf2c' for statements like `PRINT '(I1', 42'. @@ -299,6 +452,92 @@ In 0.5.22: bug that afflicted 64-bit systems with 32-bit integers (such as Digital Alpha running GNU/Linux). +In `egcs' 1.0.2 (versus `egcs' 1.0.1): +====================================== + + * Fix `g77' crash triggered by `CASE' statement with an omitted + lower or upper bound. + + * Fix `g77' crash on statements such as `PRINT *, + (REAL(Z(I)),I=1,2)', where `Z' is `DOUBLE COMPLEX'. + + * Fix `-fPIC' (such as compiling for ELF targets) on the Intel x86 + architecture target so invalid assembler code is no longer + produced. + + * Fix `-fpedantic' to not reject procedure invocations such as + `I=J()' and `CALL FOO()'. + + * Fix `-fugly-comma' to affect invocations of only external + procedures. Restore rejection of gratuitous trailing omitted + arguments to intrinsics, as in `I=MAX(3,4,,)'. + + * Fix compiler so it accepts `-fgnu-intrinsics-*' and + `-fbadu77-intrinsics-*' options. + +In `egcs' 1.0.1 (versus `egcs' 1.0): +==================================== + + * Fix run-time crash involving `NAMELIST' on 64-bit machines such as + Alphas. + +In `egcs' 1.0 (versus 0.5.21): +============================== + + * Version 1.0 of `egcs' contains several regressions against version + 0.5.21 of `g77', due to using the "vanilla" `gcc' back end instead + of patching it to fix a few bugs and improve performance in a few + cases. + + *Note Actual Bugs We Haven't Fixed Yet: Actual Bugs, available in + plain-text format in `gcc/f/BUGS', for information on the known + bugs in this version, including the regressions. + + Features that have been dropped from this version of `g77' due to + their being implemented via `g77'-specific patches to the `gcc' + back end in previous releases include: + + - Support for the C-language `restrict' keyword. + + - Support for the `-W' option warning about integer division by + zero. + + - The Intel x86-specific option `-malign-double' applying to + stack-allocated data as well as statically-allocate data. + + Note that the `gcc/f/gbe/' subdirectory has been removed from this + distribution as a result of `g77' being fully integrated with the + `egcs' variant of the `gcc' back end. + + * Fix code generation for iterative `DO' loops that have one or more + references to the iteration variable, or to aliases of it, in + their control expressions. For example, `DO 10 J=2,J' now is + compiled correctly. + + * Fix `DTime' intrinsic so as not to truncate results to integer + values (on some systems). + + * Remove support for non-`egcs' versions of `gcc'. + + * Remove support for the `--driver' option, as `g77' now does all + the driving, just like `gcc'. + + * Allow any numeric argument to intrinsics `Int2' and `Int8'. + + * Improve diagnostic messages from `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 `f2c', `g77' did not append a null byte to its compiled + form of every format string specified via a `FORMAT' statement. + However, `f2c' would exhibit the problem anyway for a statement + like `PRINT '(I)garbage', 1' by printing `(I)garbage' as the + format string.) + + * Upgrade to `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). + In 0.5.21: ========== -- 2.7.4