Go to the first, previous, next, last section, table of contents.
To find out about existing bugs and ongoing plans for GNU
Fortran, on Internet do `finger -l fortran@gnu.ai.mit.edu'
or whatever is the equivalent on your system.
(You might need to use the address `fortran@gate-1.gnu.ai.mit.edu'
instead, or use `gate-2', `gate-3', `gate-4', and so on,
instead of `gate-1'.)
Alternatively, retrieve @url{ftp://gnu.ai.mit.edu/g77.plan} via
anonymous ftp, or if you cannot do that, email
`fortran@gnu.ai.mit.edu' asking for a recent copy of the
GNU Fortran `.plan' file.
(The finger
command shown above obtains the most recent
copy of all these methods.)
In 0.5.19:
-
A temporary kludge option provides bare-bones information on
`COMMON' and `EQUIVALENCE' members at debug time.
See section Options for Code Generation Conventions,
for information on the `-fdebug-kludge' option.
-
New `-fonetrip' option specifies FORTRAN-66-style
one-trip `DO' loops.
-
New `-fno-silent' option causes names of program units
to be printed as they are compiled, in a fashion similar to
UNIX `f77' and `f2c'.
-
New `-fugly-assumed' option specifies that arrays
dimensioned via `DIMENSION X(1)', for example, are to be
treated as assumed-size.
-
New `-fno-typeless-boz' option specifies that non-decimal-radix
constants using the prefixed-radix form (such as `Z'1234'')
are to be interpreted as `INTEGER' constants.
-
New `-ff66' option is a "shorthand" option that specifies
behaviors considered appropriate for FORTRAN 66 programs.
-
New `-ff77' option is a "shorthand" option that specifies
behaviors considered appropriate for UNIX `f77' programs.
-
New `-fugly-comma' and `-fugly-logint' options provided
to perform some of what `-fugly' used to do.
`-fugly' and `-fno-ugly' are now "shorthand" options,
in that they do nothing more than enable (or disable) other
`-fugly-*' options.
-
Change code generation for list-directed I/O so it allows
for new versions of `libf2c' that might return non-zero
status codes for some operations previously assumed to always
return zero.
This change not only affects how `IOSTAT=' variables
are set by list-directed I/O, it also affects whether
`END=' and `ERR=' labels are reached by these
operations.
-
Add intrinsic support for new `FTELL' and `FSEEK'
procedures in `libf2c'.
-
Add options `--help' and `--version' to the
g77
command, to conform to GNU coding guidelines.
Also add printing of g77
version number when
the `--verbose' (`-v') option is used.
In 0.5.18:
-
The
BYTE
and WORD
statements now are supported,
to a limited extent.
-
`INTEGER*1', `INTEGER*2', `INTEGER*8',
and their `LOGICAL'
equivalents, now are supported to a limited extent.
Among the missing elements are complete intrinsic and constant
support.
-
Support automatic arrays in procedures.
For example, `REAL A(N)', where `A' is
not a dummy argument, specifies that `A' is
an automatic array.
The size of `A' is calculated from the value
of `N' each time the procedure is called,
that amount of space is allocated, and that space
is freed when the procedure returns to its caller.
-
Add `-fno-zeros' option, enabled by default,
to reduce compile-time CPU and memory usage for
code that provides initial zero values for variables
and arrays.
-
Introduce three new options that apply to all compilations
by
g77
-aware GNU compilers---`-fmove-all-movables',
`-freduce-all-givs', and `-frerun-loop-opt'---which
can improve the run-time performance of some programs.
-
Replace much of the existing documentation with a single
Info document.
-
New option `-fno-second-underscore'.
In 0.5.17:
-
The `ERF()' and `ERFC()' intrinsics now are generic
intrinsics, mapping to `ERF'/`DERF' and
`ERFC'/`DERFC', respectively.
Note: Use `INTRINSIC ERF,ERFC' in any code that
might reference these as generic intrinsics, to
improve the likelihood of diagnostics (instead of subtle run-time
bugs) when using compilers that don't support these as intrinsics.
-
New option `-Wsurprising'.
-
DO loops with non-`INTEGER' variables now diagnosed only when
`-Wsurprising' specified.
Previously, this was diagnosed unless `-fpedantic' or
`-fugly' was specified.
In 0.5.16:
-
libf2c
changed to output a leading zero (0) digit for floating-point
values output via list-directed and formatted output (to bring g77
more in line with many existing Fortran implementations--the
ANSI FORTRAN 77 standard leaves this choice to the implementation).
-
libf2c
no longer built with debugging information
intact, making it much smaller.
-
Automatic installation of the
g77
command now works.
-
Diagnostic messages now more informative, a la
gcc
,
including messages like `In function `foo':' and `In file
included from...:'.
-
New group of intrinsics called `unix', including `ABORT',
`DERF', `DERFC', `ERF', `ERFC', `EXIT',
`FLUSH', `GETARG', `GETENV', `SIGNAL', and
`SYSTEM'.
-
`-funix-intrinsics-{delete,hide,disable,enable}'
options added.
-
`-fno-underscoring' option added.
-
`--driver' option added to the
g77
command.
-
Support for the
gcc
options `-fident' and `-fno-ident'
added.
-
`g77 -v' returns much more version info, making the submission
of better bug reports easily.
-
Many improvements to the
g77
command to better fulfill its role as
a front-end to the gcc
driver.
For example, g77
now
recognizes `--verbose' as a verbose way of specifying `-v'.
-
Compiling preprocessed (`*.F' and `*.fpp') files now
results in better diagnostics and debugging information, as the
source-location info now is passed all the
way through the compilation process instead of being lost.
In 0.5.15:
-
`-ffixed-line-length-n' option introduced.
In 0.5.14:
-
Support for gcc's `-I' option added.
-
`-fbackslash' option added.
-
`-fugly-args' option enabled by default (allows `CALL FOO(4HABCD)').
-
`-fugly-init' option added.
-
`-finit-local-zero' option added.
-
Support for the
gcc
option `-Wimplicit' added.
-
`-Wall' now implies `-Wunused' and, when `-O' is
specified, `-Wuninitialized'.
-
Hollerith constants as actual arguments now are passed by reference
instead of by value--so `CALL FOO(4HABCD)' now is compiled exactly
the same as `CALL FOO(%REF('ABCD'))', instead of as
`CALL FOO(%VAL('ABCD'))'.
-
Hollerith constants converted to larger types now are padded on the
right with spaces.
When converted to smaller types, warnings are issued
if non-spaces are truncated on the right.
-
Format specifications of arrays of types other than `CHARACTER' are
allowed in I/O statements, such as when they contain Hollerith
data.
-
Typeless constants as actual arguments now are passed by reference
to an `INTEGER' version of the constant instead of by value.
-
Typeless constants converted to larger types are padded on the left
with zeros.
When converted to smaller types, warnings are issued if non-zero
bits are truncated on the left.
-
`%DESCR()' of a non-`CHARACTER' expression treats the expression
as if it were `CHARACTER', passing both a pointer to the expression
and the length of the type of the expression in bytes, by value, in the
"hidden" list of lengths used for `CHARACTER' arguments.
-
The `ICHAR()', `IACHAR()', and `LEN()' intrinsics now
accept character expressions involving concatenation of assumed-length
dummy arguments.
-
Block data program units now may contain `NAMELIST', `EXTERNAL',
and `INTRINSIC' statements.
-
Zero-length character expressions now supported.
-
Support for the
f2c
intrinsic `IMAG()' added.
-
`INCLUDE' statement restrictions, such as no continuation
lines allowed, now lifted.
Go to the first, previous, next, last section, table of contents.