Intel® Fortran Compiler - Support for Fortran language standards

签署人: Devorah Hayman

已发布:04/05/2012   最后更新时间:01/24/2019

Fortran 2003 (and Earlier) Support

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.

Fortran 2008 Support

The Intel [Visual] Fortran Compiler now supports all features from the Fortran 2008 standard

Fortran 2018 Support

Draft Fortran 2018 features supported include:

  • All features described in ISO/IEC TS29113:2012, Further Interoperability with C (16.0)
    • Assumed type (TYPE(*))
    • Assumed rank (DIMENSION(..))
    • ISO_Fortran_binding.h
    • C descriptors and procedures for manipulating them
    • RANK intrinsic
    • Relaxed restrictions on interoperable dummy arguments
    • Relaxed restrictions on procedures in intrinsic module ISO_C_BINDING
  • Coarray events
  • Intrinsic function coshape
  • Default accessibility for entities accessed from a module
  • Import Enhancements
  • All standard proceduress in ISO_C_BINDING other than C_F_POINTER are now PURE

Additional Information

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.

Non-Default Compiler Options for Fortran 2003 Semantics
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.



英特尔的编译器针对非英特尔微处理器的优化程度可能与英特尔微处理器相同(或不同)。这些优化包括 SSE2、SSE3 和 SSSE3 指令集和其他优化。对于在非英特尔制造的微处理器上进行的优化,英特尔不对相应的可用性、功能或有效性提供担保。该产品中依赖于微处理器的优化仅适用于英特尔微处理器。某些非特定于英特尔微架构的优化保留用于英特尔微处理器。关于此通知涵盖的特定指令集的更多信息,请参阅适用产品的用户指南和参考指南。

通知版本 #20110804