📄 news
字号:
being returned as 100 in the year 2000. * Fix the `Date_and_Time' intrinsic (in `libg2c') to return the milliseconds value properly in VALUES(8). * Fix the `LStat' intrinsic (in `libg2c') to return device-ID information properly in SARRAY(7). * Improve documentation.In `EGCS' 1.1.1 versus `EGCS' 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 `EGCS' 1.0.3:================================== 18. 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. 19. 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'. 20. 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'. 21. `CASE DEFAULT' no longer crashes `g77'. 22. 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. 23. `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. 24. `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. 25. 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. 26. 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. 27. 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. 28. `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. 29. 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'. 30. Improve documentation and indexing. 31. 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:================================== 32. 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'. 33. `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. 34. Fix `g77' crash compiling code containing the construct `CMPLX(0.)' or similar. 35. `g77' no longer crashes when compiling code containing specification statements such as `INTEGER(KIND=7) PTR'. 36. `g77' no longer crashes when compiling code such as `J = SIGNAL(1, 2)'. * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary" expressions when they are used as arguments in procedure calls. This change applies only to global (filewide) analysis, making it consistent with how `g77' actually generates code for these cases. Previously, `g77' treated these expressions as denoting special "pointer" arguments for the purposes of filewide analysis. 37. Fix `g77' crash (or apparently infinite run-time) when compiling certain complicated expressions involving `COMPLEX' arithmetic (especially multiplication). * 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'. * The `g77' driver now ensures that `-lg2c' is specified in the link phase prior to any occurrence of `-lm'. This prevents accidentally linking to a routine in the SunOS4 `-lm' library when the generated code wants to link to the one in `libf2c' (`libg2c'). * `g77' emits more debugging information when `-g' is used. This new information allows, for example, `which __g77_length_a' to be used in `gdb' to determine the type of the phantom length argument supplied with `CHARACTER' variables. This information pertains to internally-generated type, variable, 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 `System_Clock' intrinsic allows the optional arguments (except for the `Count' argument) to be omitted. 38. Upgrade to `libf2c' as of 1998-06-18. 39. 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 suchinformation.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -