John Harper wrote:
> But which standard? The Intel Fortran XE 13.1 documentation under Language
Standards Conformance
> says it supports all of f95, most of f2003 and some of f2008, but I
haven't been able to find a list of the
> missing f2003 features. That may of course be my fault. On the other hand
the documentation of
> XE 13.1 standard-semantics says it enables all of the options that
implement the current Fortran
> Standard behavior of the compiler, which is Fortran 2003 with some Fortran
2008 features.
> That would seem to imply that all of f2003 is supported. I am confused by
this discrepancy between
> 2 places in the Intel documentation for the same version of the same
compiler.
Intel Fortran 14.0 is a Fortran 95 compiler with almost all of Fortran 2003
(and a lot of Fortran 2008). The complete list of what is and isn't
supported is in the release notes and at
http://software.intel.com/en-us/articles/intel-fortran-compiler-support-for-
fortran-language-standards/
As for the -standard-semantics switch, what this does is change the default
behavior of the compiler where those defaults are different from what
Fortran 2003 specifies. It isn't claiming to make the compiler fully Fortran
2003. As a compiler with history going back to the 1970s (though the current
compiler itself was first developed in the late 1980s), more weight has been
given to not breaking existing applications where the evolving standard
codified or changed behaviors that conflicted with what we had implemented.
Some examples include:
- The units of RECL= for unformatted files
- The binary values of .TRUE. and .FALSE. and which binary values were
considered true or false
- Whether to do automatic reallocation of arrays in intrinsic assignment
In some cases, new standards specified behaviors that would slow down
programs that didn't care about them, such as what MAXLOC and MINLOC did in
the presence of NaNs, so we added an option to get the newly codified
behavior.
While we'd love to be able to simply say that Intel Fortran does everything
according to the standard "out of the box", we know that many of our
long-time customers would howl if we changed the meaning of their programs
or made them run appreciably slower. So we have to balance our support for
the standard against commercial realities, hence the collection of options
that can be set under the shortcut of -standard-semantics.
Steve Lionel
Intel Developer Support
Merrimack, NH
|