📄 news
字号:
*Note:* This file is automatically generated from the files`news0.texi' and `news.texi'. `NEWS' is *not* a source file, althoughit is normally included within source distributions. This file lists news about the GCC-2.95 version (and some otherversions) of the GNU Fortran compiler. Copyright (C) 1995-1999 FreeSoftware Foundation, Inc. You may copy, distribute, and modify itfreely as long as you preserve this copyright notice and permissionnotice.News About GNU Fortran********************** Changes made to recent versions of GNU Fortran are listed below,with the most recent version first. The changes are generally listed in order: 1. Code-generation and run-time-library bug-fixes 2. Compiler and run-time-library crashes involving valid code that have been fixed 3. New features 4. Fixes and enhancements to existing features 5. New diagnostics 6. Internal improvements 7. Miscellany This order is not strict--for example, some items involve acombination 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 anofficial FSF version, as appropriate. Therefore, `egcs' versions sometimes have multiple listings to helpclarify how they differ from other versions, though this can makegetting a complete picture of what a particular `egcs' version containssomewhat more difficult. *Warning:* The information below is still under development, andmight 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 areparticularly concentrated on any version of this information that isdistributed as part of a *released* `g77'. In particular, while this information is intended to apply to theGCC-2.95 version of `g77', only an official *release* of that versionis expected to contain documentation that is most consistent with the`g77' product in that version. Nevertheless, information on *previous* releases of `g77', below, islikely to be more up-to-date and accurate than the equivalentinformation that accompanied those releases, assuming the last-updateddate of the information below is later than the dates of those releases. That's due to attempts to keep this development version of newsabout previous `g77' versions up-to-date. An online, "live" version of this document (derived directly fromthe mainline, development version of `g77' within `egcs') is availableat `http://www.gnu.org/software/gcc/onlinedocs/g77_news.html'. The following information was last updated on 1999-07-08:In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2:======================================================= 1. `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. 2. `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). 3. `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. 4. `libg2c' (`libf2c') no longer loses track of the file being worked on during a `BACKSPACE' operation. 5. `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)'. 6. Automatic arrays now seem to be working on HP-UX systems. 7. The `Date' intrinsic now returns the correct result on big-endian systems. 8. 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. 9. 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'. 10. 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 bounds checks of array subscripts, as well as of substring start and end points. * `libg2c' now supports building as multilibbed library, which provides better support for systems that require options such as `-mieee' to work properly. * Source file names with the suffixes `.FOR' and `.FPP' now are recognized by `g77' as if they ended in `.for' and `.fpp', respectively. * 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 consistent with the other subroutine forms of `libU77' intrinsics. * `g77' now warns about a reference to an intrinsic that has an interface that is not Year 2000 (Y2K) compliant. Also, `libg2c' has been changed to increase the likelihood of catching references to the implementations of these intrinsics using the `EXTERNAL' mechanism (which would avoid the new warnings). 11. `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* double-precision variables and arrays on Intel x86 targets. 12. Even without the `-malign-double' option, `g77' reliably aligns local double-precision variables that are not in `EQUIVALENCE' areas and not `SAVE''d. 13. `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. 14. `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. 15. 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. 16. Improve documentation and indexing, including information on Year 2000 (Y2K) compliance, and providing more information on internals of the front end. 17. Upgrade to `libf2c' as of 1999-05-10.In 0.5.24 versus 0.5.23:======================== There is no `g77' version 0.5.24 at this time, or planned. 0.5.24is the version number designated for bug fixes and, perhaps, some newfeatures added, to 0.5.23. Version 0.5.23 requires `gcc' 2.8.1, as0.5.24 was planned to require. Due to `EGCS' becoming `GCC' (which is now an acronym for "GNUCompiler Collection"), and `EGCS' 1.2 becoming officially designated`GCC' 2.95, there seems to be no need for an actual 0.5.24 release. To reduce the confusion already resulting from use of 0.5.24 todesignate `g77' versions within `EGCS' versions 1.0 and 1.1, as well asin versions of `g77' documentation and notices during that period,"mainline" `g77' version numbering resumes at 0.5.25 with `GCC' 2.95(`EGCS' 1.2), skipping over 0.5.24 as a placeholder version number. To repeat, there is no `g77' 0.5.24, but there is now a 0.5.25.Please remain calm and return to your keypunch units.In `EGCS' 1.1.2 versus `EGCS' 1.1.1:==================================== * Fix the `IDate' intrinsic (VXT) (in `libg2c') so the returned year is in the documented, non-Y2K-compliant range of 0-99, instead of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -