By Devorah Hayman,
Published:04/05/2012 Last Updated:01/24/2019
As of compiler version 16.0 (Intel® Parallel Studio XE 2016), the Intel® [Visual] Fortran compiler is fully compliant with the ISO/IEC 1539-1:2004 Fortran language standard (Fortran 2003 Language). Intel Fortran also fully supports programs that conform to the earlier standards Fortran 95, Fortran 90, FORTRAN 77 and FORTRAN IV (FORTRAN 66.) In some cases, compiler options may need to be specified to enable support of behavior that was different in earlier versions of the Fortran standard.
The Intel [Visual] Fortran Compiler now supports all features from the Fortran 2008 standard.
Draft Fortran 2018 features supported include:
The Intel Fortran compiler also supports a number of extensions to the Fortran standards, as well as command-line options that allow you to override the default actions of the compiler.
In some cases, the default behavior of the Intel Fortran Compiler does not conform to Fortran 2003 semantics. The following table lists the compiler options which are not enabled by default and which must be specified to obtain full Fortran 2003 semantics. Note that, in some cases, enabling these options may lower run-time performance.
The single option /standard-semantics (Windows*) or -standard-semantics (Linux* and macOS*) can be used to set all options required to obtain full Fortran 2003 semantics. If using the IEEE_ARITHMETIC, IEEE_EXCEPTIONS or IEEE_FEATURES intrinsic modules, /fp:strict (Windows) or -fp-model strict (Linux and macOS) must also be specified.
Windows* | Linux* and macOS* |
---|---|
/assume:byterecl | -assume byterecl |
/assume:fpe_summary | -assume fpe_summary |
/assume:ieee_fp_flags (if /fp:strict or precise also set) | -assume ieee_fp_flags (if -fp-model strict or precise also set) |
/assume:minus0 | -assume minus0 |
/assume:noold_ldout_format | -assume noold_ldout_format |
/assume:noold_maxminloc | -assume noold_maxminloc |
/assume:noold_unit_star | -assume noold_unit_star |
/assume:noold_xor | -assume noold_xor |
/assume:protect_parens | -assume protect_parens |
/assume:std_mod_proc_name | -assume std_mod_proc_name |
/fpscomp:logicals | -fpscomp logicals |
NOTE: Compiler version 17.0 changed the default behavior to be that of /assume:realloc_lhs (-assume realloc_lhs). To disable that behavior in version 17.0 or later, use /assume:norealloc_lhs (-assume norealloc_lhs) or /nostandard-realloc-lhs (-nostandard-realloc-lhs)
For more information, please refer to the "Compiler Options" section of the Intel Fortran Compiler documentation.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804