diff --git a/gcc/f/BUGS b/gcc/f/BUGS index 40edbb10193..b40c7aea948 100644 --- a/gcc/f/BUGS +++ b/gcc/f/BUGS @@ -40,7 +40,7 @@ via `http://egcs.cygnus.com/onlinedocs/g77_bugs.html'. Follow the port, build, and install `g77', see "Problems Installing" in `egcs/gcc/f/INSTALL'. - The following information was last updated on 1999-04-03: + The following information was last updated on 1999-04-20: * Automatic arrays possibly aren't working on HP-UX systems, at least in HP-UX version 10.20. Writing into them apparently causes @@ -152,33 +152,6 @@ port, build, and install `g77', see "Problems Installing" in targets, and front ends like `g77' should take advantage of this when it becomes available. - * The x86 target's `-malign-double' option no longer reliably aligns - double-precision variables and arrays when they are placed in the - stack frame. - - This can significantly reduce the performance of some applications, - even on a run-to-run basis (that is, performance measurements can - vary fairly widely depending on whether frequently used variables - are properly aligned, and that can change from one program run to - the next, even from one procedure call to the next). - - Versions 0.5.22 and earlier of `g77' included a patch to `gcc' - that enabled this, but that patch has been deemed an improper - (probably buggy) one for version 2.8 of `gcc' and for `egcs'. - - Note that version 1.1 of `egcs' aligns double-precision variables - and arrays when they are in static storage even if - `-malign-double' is not specified. - - There is ongoing investigation into how to make `-malign-double' - work properly, also into how to make it unnecessary to get all - double-precision variables and arrays aligned when such alignment - would not violate the relevant specifications for processor and - inter-procedural interfaces. - - For a suite of programs to test double-precision alignment, see - `ftp://alpha.gnu.org/gnu/g77/align/'. - * The `libf2c' routines that perform some run-time arithmetic on `COMPLEX' operands were modified circa version 0.5.20 of `g77' to work properly even in the presence of aliased operands. diff --git a/gcc/f/NEWS b/gcc/f/NEWS index 807d4deb8f3..5cd2615c9e5 100644 --- a/gcc/f/NEWS +++ b/gcc/f/NEWS @@ -66,7 +66,7 @@ about previous `g77' versions up-to-date. the mainline, development version of `g77' within `egcs') is available at `http://egcs.cygnus.com/onlinedocs/g77_news.html'. - The following information was last updated on 1999-04-03: + The following information was last updated on 1999-04-20: In `egcs' 1.2 (versus 1.1.2): ============================= @@ -82,7 +82,11 @@ In `egcs' 1.2 (versus 1.1.2): where J is other than default `INTEGER' (such as `INTEGER*2'). Instead, it issues a diagnostic. - 3. The `-ax' option is now obeyed when compiling Fortran programs. + 3. 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. + + 4. The `-ax' option is now obeyed when compiling Fortran programs. (It is passed to the `f771' driver.) * Source file names with the suffixes `.FOR' and `.FPP' now are @@ -95,7 +99,7 @@ In `egcs' 1.2 (versus 1.1.2): references to the implementations of these intrinsics using the `EXTERNAL' mechanism (which would avoid the new warnings). - 4. `g77' now warns about a reference to a function when the + 5. `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. @@ -106,8 +110,23 @@ In `egcs' 1.2 (versus 1.1.2): * The `-malign-double' option now reliably aligns *all* double-precision variables and arrays on Intel x86 targets. - 5. Improve documentation and indexing, including information on Year - 2000 (Y2K) compliance. + * Even without the `-malign-double' option, `g77' reliably aligns + local double-precision variables that are not in `EQUIVALENCE' + areas and not `SAVE''d. + + * 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 + used before containing binding contour" message. + + * Support for the `-fugly' option has been removed. + + 6. Improve documentation and indexing, including information on Year + 2000 (Y2K) compliance, and providing more information on internals + of the front end. + + 7. Upgrade to `libf2c' as of 1999-03-17. In 0.5.24 and `egcs' 1.1.2 (versus 0.5.23 and 1.1.1): ===================================================== @@ -149,14 +168,14 @@ In 0.5.24 and `egcs' 1.1.1 (versus 0.5.23 and 1.1): In `egcs' 1.1 (versus 0.5.24): ============================== - 6. Fix `g77' crash compiling code containing the construct + 8. Fix `g77' crash compiling code containing the construct `CMPLX(0.)' or similar. - 7. Fix `g77' crash (or apparently infinite run-time) when compiling + 9. Fix `g77' crash (or apparently infinite run-time) when compiling certain complicated expressions involving `COMPLEX' arithmetic (especially multiplication). - 8. Fix a code-generation bug that afflicted Intel x86 targets when + 10. Fix a code-generation bug that afflicted Intel x86 targets when `-O2' was specified compiling, for example, an old version of the `DNRM2' routine. @@ -172,25 +191,25 @@ In `egcs' 1.1 (versus 0.5.24): In `egcs' 1.1 (versus `egcs' 1.0.3): ==================================== - 9. Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte + 11. 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. - 10. Assumed arrays with negative bounds (such as `REAL A(-1:*)') no + 12. 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'. - 11. Valid combinations of `EXTERNAL', passing that external as a dummy + 13. 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'. - 12. `CASE DEFAULT' no longer crashes `g77'. + 14. `CASE DEFAULT' no longer crashes `g77'. - 13. The `-Wunused' option no longer issues a spurious warning about + 15. The `-Wunused' option no longer issues a spurious warning about the "master" procedure generated by `g77' for procedures containing `ENTRY' statements. @@ -215,25 +234,25 @@ In `egcs' 1.1 (versus `egcs' 1.0.3): `libf2c' environment, even when `libf2c' (now `libg2c') is a shared library. - 14. `g77' no longer installs the `f77' command and `f77.1' man page in + 16. `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. - 15. `g77' no longer installs the `libf2c.a' library and `f2c.h' + 17. `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. - 16. The `libf2c.a' library produced by `g77' has been renamed to + 18. 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. - 17. The `f2c.h' include (header) file produced by `g77' has been + 19. 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 @@ -245,11 +264,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. - 18. During the configuration and build process, `g77' creates + 20. 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. - 19. `install-info' now used to update the directory of Info + 21. `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 @@ -258,28 +277,28 @@ 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. - 20. Improve compilation of `FORMAT' expressions so that a null byte is + 22. 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'. - 21. Improve documentation and indexing. + 23. Improve documentation and indexing. - 22. The upgrade to `libf2c' as of 1998-06-18 should fix a variety of + 24. 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): ========================================= - 23. `g77' no longer produces incorrect code and initial values for + 25. `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. - 24. `g77' no longer crashes when compiling code containing + 26. `g77' no longer crashes when compiling code containing specification statements such as `INTEGER(KIND=7) PTR'. - 25. `g77' no longer crashes when compiling code such as `J = SIGNAL(1, + 27. `g77' no longer crashes when compiling code such as `J = SIGNAL(1, 2)'. * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary" @@ -310,9 +329,9 @@ In 0.5.24 and `egcs' 1.1 (versus 0.5.23): * The F90 `System_Clock' intrinsic allows the optional arguments (except for the `Count' argument) to be omitted. - 26. Upgrade to `libf2c' as of 1998-06-18. + 28. Upgrade to `libf2c' as of 1998-06-18. - 27. Improve documentation and indexing. + 29. Improve documentation and indexing. In previous versions: =====================