gfortran question about optional subroutine arguments
Thu Mar 14 14:03:00 GMT 2013
On 3/14/2013 9:39 AM, Mark Hounschell wrote:
> When I use -std=f95 this fortran77 code will not compile. Many
> different complaints but the most serious are normal variable
> INTEGER*8 TOTTIME(0:MAXTASK) ! Task total exec time (
> Error: Nonstandard type declaration INTEGER*8 at (1)
Are you hoping to amend the F77 standard retroactively to get this
extension accepted as standard in a round-about way? 24-, 36-, and
60-bit machines were still in use when F77 was under development, so
there was no meaningful way to incorporate an extension which was
designed to prevent code from being portable to any but 16- and 32-bit
(or some 64-bit) platforms.
It's true that the f77 standard didn't require an option to reject this
syntax, but many f77 compilers did reject it. The fact that some
accepted it doesn't make it fortran77.
If you intend to keep your application restricted to the majority of
current platforms where integer*8 and integer(8) are synonymous, the
latter will probably pass standards checking, even though replacing the
8 by a parameter constant would be preferable.
More information about the Gcc-help