diff --git a/gcc/f/BUGS b/gcc/f/BUGS index d06d16d61c7..36166fb3e28 100644 --- a/gcc/f/BUGS +++ b/gcc/f/BUGS @@ -1,47 +1,47 @@ -*Note:* This file is automatically generated from the files -`bugs0.texi' and `bugs.texi'. `BUGS' is *not* a source file, although +_Note:_ This file is automatically generated from the files +`bugs0.texi' and `bugs.texi'. `BUGS' is _not_ a source file, although it is normally included within source distributions. - This file lists known bugs in the GCC-2.95 version of the GNU -Fortran compiler. Copyright (C) 1995, 1996, 1997, 1998, -1999 Free Software Foundation, -Inc. You may copy, distribute, and modify it freely as long as you -preserve this copyright notice and permission notice. + This file lists known bugs in the GCC-2.97 version of the GNU +Fortran compiler. Copyright (C) 1995,1996,1997,1998,1999,2000 Free +Software Foundation, Inc. You may copy, distribute, and modify it +freely as long as you preserve this copyright notice and permission +notice. Known Bugs In GNU Fortran ************************* - This section identifies bugs that `g77' *users* might run into in -the GCC-2.95 version of `g77'. This includes bugs that are actually in + This section identifies bugs that `g77' _users_ might run into in +the GCC-2.97 version of `g77'. This includes bugs that are actually in the `gcc' back end (GBE) or in `libf2c', because those sets of code are at least somewhat under the control of (and necessarily intertwined with) `g77', so it isn't worth separating them out. - For information on bugs in *other* versions of `g77', see -`egcs/gcc/f/NEWS'. There, lists of bugs fixed in various versions of + For information on bugs in _other_ versions of `g77', see +`gcc/gcc/f/NEWS'. There, lists of bugs fixed in various versions of `g77' can help determine what bugs existed in prior versions. - *Warning:* The information below is still under development, and + _Warning:_ The information below is still under development, and might not accurately reflect the `g77' code base of which it is a part. Efforts are made to keep it somewhat up-to-date, but they are particularly concentrated on any version of this information that is -distributed as part of a *released* `g77'. +distributed as part of a _released_ `g77'. In particular, while this information is intended to apply to the -GCC-2.95 version of `g77', only an official *release* of that version +GCC-2.97 version of `g77', only an official _release_ of that version is expected to contain documentation that is most consistent with the `g77' product in that version. An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `egcs') is available -via `http://www.gnu.org/software/gcc/onlinedocs/g77_bugs.html'. Follow the -"Known Bugs" link. +the mainline, development version of `g77' within `gcc') is available +via `http://www.gnu.org/software/gcc/onlinedocs/g77_bugs.html'. Follow +the "Known Bugs" link. For information on bugs that might afflict people who configure, port, build, and install `g77', see "Problems Installing" in -`egcs/gcc/f/INSTALL'. +`gcc/gcc/f/INSTALL'. - The following information was last updated on 1999-06-28: + The following information was last updated on 2000-11-05: * `g77' fails to warn about use of a "live" iterative-DO variable as an implied-DO variable in a `WRITE' or `PRINT' statement (although @@ -79,7 +79,7 @@ port, build, and install `g77', see "Problems Installing" in assembler file. This is to be mitigated somewhat in version 0.6. Version 0.5.18 improves cases like this--specifically, cases of - *sparse* initialization that leave large, contiguous areas + _sparse_ initialization that leave large, contiguous areas uninitialized--significantly. However, even with the improvements, these cases still require too much memory and CPU time. @@ -93,12 +93,10 @@ port, build, and install `g77', see "Problems Installing" in Note that `g77' does display a warning message to notify the user before the compiler appears to hang. - * `g77' doesn't emit variable and array members of common blocks for - use with a debugger (the `-g' command-line option). The code is - present to do this, but doesn't work with at least one debug - format--perhaps it works with others. And it turns out there's a - similar bug for local equivalence areas, so that has been disabled - as well. + * Previous versions of `g77' didn't emit information on variable and + array members of common blocks and equivalences for use with a + debugger (the `-g' command-line option). As of the version of + `g77' shipped with version 3.0 of `GCC', this is corrected. As of Version 0.5.19, a temporary kludge solution is provided whereby some rudimentary information on a member is written as a @@ -152,9 +150,9 @@ port, build, and install `g77', see "Problems Installing" in While the `g77' and `netlib' versions of `libf2c' differ on how this is accomplished, the main differences are that we believe the - `g77' version works properly even in the presence of *partially* + `g77' version works properly even in the presence of _partially_ aliased operands. However, these modifications have reduced performance on targets such as x86, due to the extra copies of operands involved. - + diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 06033f9774d..8a26f0bde13 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +Thu Dec 21 20:00:48 2000 Joseph S. Myers + + * BUGS, NEWS: Regenerate. + 2000-12-18 Joseph S. Myers * com.c [VMS]: Remove definition of BSTRING. diff --git a/gcc/f/NEWS b/gcc/f/NEWS index 3a6cf362c1a..602efe48539 100644 --- a/gcc/f/NEWS +++ b/gcc/f/NEWS @@ -1,13 +1,12 @@ -*Note:* This file is automatically generated from the files -`news0.texi' and `news.texi'. `NEWS' is *not* a source file, although +_Note:_ This file is automatically generated from the files +`news0.texi' and `news.texi'. `NEWS' is _not_ a source file, although it is normally included within source distributions. - This file lists news about the GCC-2.95 version (and some other -versions) of the GNU Fortran compiler. Copyright (C) 1995, 1996, 1997, -1998, 1999 Free -Software Foundation, Inc. You may copy, distribute, and modify it -freely as long as you preserve this copyright notice and permission -notice. + This file lists news about the GCC-2.97 version (and some other +versions) of the GNU Fortran compiler. Copyright (C) +1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc. You may +copy, distribute, and modify it freely as long as you preserve this +copyright notice and permission notice. News About GNU Fortran ********************** @@ -37,25 +36,27 @@ combination of these elements. 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. +official FSF version, as appropriate. Note that all such variants are +now obsolete - the information is retained here only for its historical +value. 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. - *Warning:* The information below is still under development, and + _Warning:_ The information below is still under development, and might not accurately reflect the `g77' code base of which it is a part. Efforts are made to keep it somewhat up-to-date, but they are particularly concentrated on any version of this information that is -distributed as part of a *released* `g77'. +distributed as part of a _released_ `g77'. In particular, while this information is intended to apply to the -GCC-2.95 version of `g77', only an official *release* of that version +GCC-2.97 version of `g77', only an official _release_ of that version is expected to contain documentation that is most consistent with the `g77' product in that version. - Nevertheless, information on *previous* releases of `g77', below, is + Nevertheless, information on _previous_ releases of `g77', below, is likely to be more up-to-date and accurate than the equivalent information that accompanied those releases, assuming the last-updated date of the information below is later than the dates of those releases. @@ -64,18 +65,22 @@ date of the information below is later than the dates of those releases. about previous `g77' versions up-to-date. An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `egcs') is available -at `http://www.gnu.org/software/gcc/onlinedocs/g77_news.html'. +the mainline, development version of `g77' within `gcc') is available at +`http://www.gnu.org/software/gcc/onlinedocs/g77_news.html'. - The following information was last updated on 1999-07-08: + The following information was last updated on 2000-11-05: In development: =============== - 1. The `TtyNam' intrinsics now set NAME to all spaces (at run time) + * Using options `-g', `-ggdb' or `-gdwarf[-2]' (where appropriate + for your target) now also enables debugging information for COMMON + BLOCK and EQUIVALENCE items to be emitted. + + * The `TtyNam' intrinsics now set NAME to all spaces (at run time) if the system has no `ttyname' implementation available. - 2. Upgrade to `libf2c' as of 1999-06-28. + * Upgrade to `libf2c' as of 1999-06-28. This fixes a bug whereby input to a `NAMELIST' read involving a repeat count, such as `K(5)=10*3', was not properly handled by @@ -86,47 +91,47 @@ In development: In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: ======================================================= - 3. `g77' no longer generates bad code for assignments, or other + * `g77' no longer generates bad code for assignments, or other conversions, of `REAL' or `COMPLEX' constant expressions to type `INTEGER(KIND=2)' (often referred to as `INTEGER*8'). For example, `INTEGER*8 J; J = 4E10' now works as documented. - 4. `g77' no longer truncates `INTEGER(KIND=2)' (usually `INTEGER*8') + * `g77' no longer truncates `INTEGER(KIND=2)' (usually `INTEGER*8') subscript expressions when evaluating array references on systems with pointers widers than `INTEGER(KIND=1)' (such as Alphas). - 5. `g77' no longer generates bad code for an assignment to a + * `g77' no longer generates bad code for an assignment to a `COMPLEX' variable or array that partially overlaps one or more of the sources of the same assignment (a very rare construction). It now assigns through a temporary, in cases where such partial overlap is deemed possible. - 6. `libg2c' (`libf2c') no longer loses track of the file being worked + * `libg2c' (`libf2c') no longer loses track of the file being worked on during a `BACKSPACE' operation. - 7. `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read + * `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read involving a repeat count, such as `K(5)=10*3', was not properly handled by `libf2c'. The first item was written to `K(5)', but the remaining nine were written elsewhere (still within the array), not necessarily starting at `K(6)'. - 8. Automatic arrays now seem to be working on HP-UX systems. + * Automatic arrays now seem to be working on HP-UX systems. - 9. The `Date' intrinsic now returns the correct result on big-endian + * The `Date' intrinsic now returns the correct result on big-endian systems. - 10. Fix `g77' so it no longer crashes when compiling I/O statements + * Fix `g77' so it no longer crashes when compiling I/O statements using keywords that define `INTEGER' values, such as `IOSTAT=J', where J is other than default `INTEGER' (such as `INTEGER*2'). Instead, it issues a diagnostic. - 11. Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is + * Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is not default `INTEGER', such as `INTEGER*2', instead of producing a spurious diagnostic. Also fix `DATA (A(I),I=1,N)', where `N' is not default `INTEGER' to work instead of crashing `g77'. - 12. The `-ax' option is now obeyed when compiling Fortran programs. + * The `-ax' option is now obeyed when compiling Fortran programs. (It is passed to the `f771' driver.) * The new `-fbounds-check' option causes `g77' to compile run-time @@ -141,10 +146,10 @@ In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: recognized by `g77' as if they ended in `.for' and `.fpp', respectively. - * The order of arguments to the *subroutine* forms of the `CTime', + * The order of arguments to the _subroutine_ forms of the `CTime', `DTime', `ETime', and `TtyNam' intrinsics has been swapped. The argument serving as the returned value for the corresponding - function forms now is the *second* argument, making these + function forms now is the _second_ argument, making these consistent with the other subroutine forms of `libU77' intrinsics. * `g77' now warns about a reference to an intrinsic that has an @@ -153,34 +158,34 @@ In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: to the implementations of these intrinsics using the `EXTERNAL' mechanism (which would avoid the new warnings). - 13. `g77' now warns about a reference to a function when the - corresponding *subsequent* function program unit disagrees with + * `g77' now warns about a reference to a function when the + corresponding _subsequent_ function program unit disagrees with the reference concerning the type of the function. * `-fno-emulate-complex' is now the default option. This should result in improved performance of code that uses the `COMPLEX' data type. - * The `-malign-double' option now reliably aligns *all* + * The `-malign-double' option now reliably aligns _all_ double-precision variables and arrays on Intel x86 targets. - 14. Even without the `-malign-double' option, `g77' reliably aligns + * Even without the `-malign-double' option, `g77' reliably aligns local double-precision variables that are not in `EQUIVALENCE' areas and not `SAVE''d. - 15. `g77' now open-codes ("inlines") division of `COMPLEX' operands + * `g77' now open-codes ("inlines") division of `COMPLEX' operands instead of generating a run-time call to the `libf2c' routines `c_div' or `z_div', unless the `-Os' option is specified. * `g77' no longer generates code to maintain `errno', a C-language concept, when performing operations such as the `SqRt' intrinsic. - 16. `g77' developers can temporarily use the `-fflatten-arrays' option + * `g77' developers can temporarily use the `-fflatten-arrays' option to compare how the compiler handles code generation using C-like constructs as compared to the Fortran-like method constructs normally used. - 17. A substantial portion of the `g77' front end's code-generation + * A substantial portion of the `g77' front end's code-generation component was rewritten. It now generates code using facilities more robustly supported by the `gcc' back end. One effect of this rewrite is that some codes no longer produce a spurious "label LAB @@ -188,11 +193,11 @@ In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: * Support for the `-fugly' option has been removed. - 18. Improve documentation and indexing, including information on Year + * Improve documentation and indexing, including information on Year 2000 (Y2K) compliance, and providing more information on internals of the front end. - 19. Upgrade to `libf2c' as of 1999-05-10. + * Upgrade to `libf2c' as of 1999-05-10. In 0.5.24 versus 0.5.23: ======================== @@ -255,25 +260,25 @@ In `EGCS' 1.1.1 versus `EGCS' 1.1: In `EGCS' 1.1 versus `EGCS' 1.0.3: ================================== - 20. Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte + * 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. - 21. Assumed arrays with negative bounds (such as `REAL A(-1:*)') no + * 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'. - 22. Valid combinations of `EXTERNAL', passing that external as a dummy + * 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'. - 23. `CASE DEFAULT' no longer crashes `g77'. + * `CASE DEFAULT' no longer crashes `g77'. - 24. The `-Wunused' option no longer issues a spurious warning about + * The `-Wunused' option no longer issues a spurious warning about the "master" procedure generated by `g77' for procedures containing `ENTRY' statements. @@ -298,25 +303,25 @@ In `EGCS' 1.1 versus `EGCS' 1.0.3: `libf2c' environment, even when `libf2c' (now `libg2c') is a shared library. - 25. `g77' no longer installs the `f77' command and `f77.1' man page in + * `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. - 26. `g77' no longer installs the `libf2c.a' library and `f2c.h' + * `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. - 27. The `libf2c.a' library produced by `g77' has been renamed to + * 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. - 28. The `f2c.h' include (header) file produced by `g77' has been + * 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 @@ -328,11 +333,11 @@ In `EGCS' 1.1 versus `EGCS' 1.0.3: than the one built and installed as part of the same `g77' version is picked up. - 29. During the configuration and build process, `g77' creates + * 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. - 30. `install-info' now used to update the directory of Info + * `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 @@ -341,38 +346,38 @@ In `EGCS' 1.1 versus `EGCS' 1.0.3: in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and about truncations of various sorts of constants. - 31. 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'. - 32. Improve documentation and indexing. + * Improve documentation and indexing. - 33. The upgrade to `libf2c' as of 1998-06-18 should fix a variety of + * 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 `EGCS' 1.1 versus `g77' 0.5.23: ================================== - 34. Fix a code-generation bug that afflicted Intel x86 targets when + * 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'. - 35. `g77' no longer produces incorrect code and initial values for + * `g77' no longer produces incorrect code and initial values for `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural" ordering of members vis-a-vis their types, require initial padding. - 36. Fix `g77' crash compiling code containing the construct + * Fix `g77' crash compiling code containing the construct `CMPLX(0.)' or similar. - 37. `g77' no longer crashes when compiling code containing + * `g77' no longer crashes when compiling code containing specification statements such as `INTEGER(KIND=7) PTR'. - 38. `g77' no longer crashes when compiling code such as `J = SIGNAL(1, + * `g77' no longer crashes when compiling code such as `J = SIGNAL(1, 2)'. * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary" @@ -383,7 +388,7 @@ In `EGCS' 1.1 versus `g77' 0.5.23: Previously, `g77' treated these expressions as denoting special "pointer" arguments for the purposes of filewide analysis. - 39. Fix `g77' crash (or apparently infinite run-time) when compiling + * Fix `g77' crash (or apparently infinite run-time) when compiling certain complicated expressions involving `COMPLEX' arithmetic (especially multiplication). @@ -413,15 +418,15 @@ In `EGCS' 1.1 versus `g77' 0.5.23: * The F90 `System_Clock' intrinsic allows the optional arguments (except for the `Count' argument) to be omitted. - 40. Upgrade to `libf2c' as of 1998-06-18. + * Upgrade to `libf2c' as of 1998-06-18. - 41. Improve documentation and indexing. + * Improve documentation and indexing. In previous versions: ===================== Information on previous versions is not provided in this -`egcs/gcc/f/NEWS' file, to keep it short. See `egcs/gcc/f/news.texi', -or any of its other derivations (Info, HTML, dvi forms) for such +`gcc/gcc/f/NEWS' file, to keep it short. See `gcc/gcc/f/news.texi', or +any of its other derivations (Info, HTML, dvi forms) for such information.