Regenerated.
authorfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 1998 09:01:52 +0000 (09:01 +0000)
committerfx <fx@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 1998 09:01:52 +0000 (09:01 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23710 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/f/INSTALL
gcc/f/NEWS

index ab0d5b4..1ff51d7 100644 (file)
@@ -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
index 2cc6cbf..1bbefc2 100644 (file)
@@ -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<EXPR>)' 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:
 ==========